1

在 Perl 中,如何将这两条语句组合在一行中?

$str=~ s/=>/:/g;
$str=~ s/\$VAR1 = {//g;
4

2 回答 2

4
$str =~ s/(=>|\$VAR = {)/$1 eq '=>' && ':'/ge;

不过,实际上,最好不要保留代码,除非您有一些非常非常令人信服的理由来组合这些语句。

于 2012-05-12T02:49:02.987 回答
1

这很简单——只需将“ ;”更改为“ ,”——但为什么呢?结合两个陈述不是目标,而是一种手段。如果你告诉我们你的目标是什么,你可以给你一个更好的答案。

$str=~ s/=>/:/g, $str=~ s/\$VAR1 = {//g;

其他方法:

do { $str=~ s/=>/:/g; $str=~ s/\$VAR1 = {//g; };

s/=>/:/g, s/\$VAR1 = {//g for $str;

$str = $str =~ s/=>/:/gr =~ s/\$VAR1 = {//gr;   # 5.14+ required.
于 2012-05-12T07:58:04.180 回答