Perl正则表达式:需要语法帮助

时间:2012-05-12 02:46:22

标签: regex perl

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

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

2 个答案:

答案 0 :(得分:4)

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

尽管如此,除非你有一些真正,非常有说服力的理由来合并这些陈述,否则你最好不要离开代码。

答案 1 :(得分: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.