3
我有時需要兩個字符串變量,其中第二個的值是從第一個字符替換得出的。通過替換定義另一個字符串變量?
有沒有比下面顯示的更簡潔的方法?以兩個獨立的命令從第一定義第二變種是容易出錯和繁瑣:
# Example: "pstopdf" and "ps2pdf":
my $name1 = "pstopdf";
my $name2 = $name1;
$name2 =~ s/to/2/;
我有時需要兩個字符串變量,其中第二個的值是從第一個字符替換得出的。通過替換定義另一個字符串變量?
有沒有比下面顯示的更簡潔的方法?以兩個獨立的命令從第一定義第二變種是容易出錯和繁瑣:
# Example: "pstopdf" and "ps2pdf":
my $name1 = "pstopdf";
my $name2 = $name1;
$name2 =~ s/to/2/;
(my $name2 = $name1) =~ s/to/2/;
其中new features in Perl 5.14的是non-destructive substitution with the /r flag: s///r其中派上用場,如果你是在一個map
做這種轉變, 例如。
使用/r
標誌,你會寫的
my $name2 = $name1 =~ s/to/2/r;
可能重複[Perl的:使用S /(替換),並返回新的字符串(http://stackoverflow.com/questions/3440363/perl -use-s-replace-and-return-new-string) – daxim
@daxim:這是一個相當單獨的問題。 – Flimzy