我有时需要两个字符串变量,其中第二个变量的值是从第一个字符替换中派生出来的。
有没有比下面显示的更简洁的方法呢?使用两个单独的命令来定义第一个var来自第一个var容易出错并且很麻烦:
# Example: "pstopdf" and "ps2pdf":
my $name1 = "pstopdf";
my $name2 = $name1;
$name2 =~ s/to/2/;
答案 0 :(得分:6)
(my $name2 = $name1) =~ s/to/2/;
答案 1 :(得分:4)
new features in Perl 5.14中的一个是non-destructive substitution with the /r flag: s///r,如果您在map
中进行此类转换,它会派上用场。
使用/r
标志,你会写
my $name2 = $name1 =~ s/to/2/r;