通过替换从另一个字符串变量定义?

时间:2011-10-21 18:17:01

标签: perl

我有时需要两个字符串变量,其中第二个变量的值是从第一个字符替换中派生出来的。

有没有比下面显示的更简洁的方法呢?使用两个单独的命令来定义第一个var来自第一个var容易出错并且很麻烦:

# Example: "pstopdf" and "ps2pdf":
my $name1 = "pstopdf";
my $name2 = $name1;
$name2 =~ s/to/2/;   

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;