如何将perl正则表达式替换作为表达式中的函数编写?

Dar*_*enW 2 regex perl expression function

我有

my $x = "whatever 123";
$x =~ s/ //g;
$x =~ s/\d/9/g;
frobnicate($x);
Run Code Online (Sandbox Code Playgroud)

虽然在现实生活中它更加混乱和更大.我想做的是以函数形式执行子类,如下所示:

my $x = "whatever 123";
frobnicate(   regex_substitutions($x, s/ //g, s/\d/9/g) );
Run Code Online (Sandbox Code Playgroud)

这可能看起来像是可读性方面的倒退,但在现实生活中,这样的事情实际上会有所帮助.它的目标是避免在单独的语句中使用正则表达式替换,但将其合并到表达式中.我猜这里有一种灵活可读的方式,长期以来perl专家都知道.

(不仅有"不止一种方法",而且还有不止一种方式可以询问任何特定的事情.如果这个问题与现有问题多余,请原谅我.)

ike*_*ami 7

5.14介绍/ r(eturn):

frobnicate( $x =~ s/ //gr =~ s/\d/9/gr );
Run Code Online (Sandbox Code Playgroud)

任何版本:

frobnicate apply { s/ //g; s/\d/9/g; } $x;
Run Code Online (Sandbox Code Playgroud)

apply来自List :: MoreUtils.