我有一个字符串,$ str = abc#$和@ def
我尝试用它的十六进制值替换'$',
$ STR =〜S/$/26%/克
但输出是abc#.
这可能是因为'$'被视为行或字符串的结尾.
请告诉我
你的问题与你的替代无关; 当你首先分配给字符串时:
$str = "abc#$and@def";
Run Code Online (Sandbox Code Playgroud)
$and并被@def视为要插值的变量.
您需要转义符号或使用单引号(不插入变量):
$str = 'abc#$and@def';
# or
$str = "abc#\$and\@def";
Run Code Online (Sandbox Code Playgroud)
你真的需要启用警告,这会告诉你你的任务是问题.