我是 Perl 的初学者。我正在使用下面的 Perl 命令在我的 tcl 脚本中搜索和替换“/$”序列。直接在 linux 命令行上使用时效果很好。
perl -p -i -e 's/\/\$/\/\\\$/g' sed_list.tcl
我正在调用使用系统命令在另一个 Perl 脚本中调用上面的 Perl One 衬里,并且只使用“`”Back Tick。
system(`perl -p -i -e 's/\/\$/\/\\\$/g' sed_list.tcl`);
`perl -p -i -e 's/\/\$/\/\\\$/g' sed_list.tcl`;
我收到以下错误。请帮助解决这个问题。
Bareword found where operator expected at -e line 1, near "$/g"
(Missing operator before g?)
Final $ should be \$ or $name at -e line 1, within string
syntax error at -e line 1, near "s//$/"
Execution of -e aborted due to compilation errors.
我不知道我是否可以像 SED 命令一样使用任何其他分隔运算符,例如 % 和 #,但是,当我使用 '%' 运算符进行分隔时,我没有看到错误,但工作没有完成。
`perl -p -i -e 's%\/\$%\/\\\$%g' sed_list.tcl`;
对于网络上的“$”变量这个特定问题,我找不到足够的结果。任何帮助表示赞赏。