简体   繁体   English

使用Perl将字符串替换为具有特殊字符的变量

[英]replace string with an variable having special chars in it using Perl

I have a file with below content: 我有一个包含以下内容的文件:

$ cat file
my name is PARESH.

Need to replace PARESH with content of variable `$REPLACE_WORD" using Perl. 需要使用Perl用变量$ REPLACE_WORD的内容替换PARESH

perl -pi -e "s/PARESH/$REPLACE_WORD/g"  file

Problem is variable $REPLACE_WORD has special characters in it. 问题是变量$REPLACE_WORD包含特殊字符。

$REPLACE_WORD="c@sc9ey"

Perl interpolates scalars ( $foo ) and arrays ( @bar ) in double quotes "" . Perl将标量( $foo )和数组( @bar@bar双引号"" If you use single quotes '' instead, no interpolation happens. 如果改用单引号'' ,则不会进行插值。

$REPLACE_WORDS = 'c@sc9ey';

Note that hash variabels ( %baz ) are not interpolated. 请注意,哈希内插变量( %baz不会插值。

使用双引号时,请使用\\转义特殊字符\\

$REPLACE_WORD = "c\@sc9ey";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM