博文背景
文本替换虽不难,可是如果考虑到各种转义以及特殊字符那么难免会头皮发麻,如何优雅地解决这个问题,Perl语言为我们提供了函数。
具体操作
#!/usr/bin/perl
$str=<<'EOF';
"g\\gesr\gesg\Qt\Erd\\\\//thrdh\"grsegresgr";
EOF
$find="\\";
$quoted_find=quotemeta($find);
$replace="'";
print "$str\n";
# $str =~ s/$find/$replace/g;
$str =~ s{$quoted_find}{$replace}g;
print "$str\n";
[root@shanghai temp]# perl he.pl
"g\\gesr\gesg\Qt\Erd\\\\//thrdh\"grsegresgr";
"g''gesr'gesg'Qt'Erd''''//thrdh'"grsegresgr";