在这里组合文档,替换和死亡时消除中间变量

时间:2017-08-18 12:16:14

标签: perl

在此示例中是否可以取消使用中间变量$msg

($msg = <<'END_MSG') =~ s/\n//gm;
My super error message
Which happens to span over multiple lines
But that I want to print without newlines.
END_MSG
die $msg;

如果我不需要删除换行符,我可以直接die <<'END_MSG'; ...但我找不到将这两种方法结合起来的方法。

2 个答案:

答案 0 :(得分:5)

使用perl 5.14或更新版本,你可以,

die <<'END_MSG'
My super error message
Which happens to span over multiple lines
But that I want to print without newlines.
END_MSG
=~ s/\n//gr;

编辑: 或

die <<'END_MSG' =~ s/\n//gr
..
END_MSG

答案 1 :(得分:4)

die有多个参数,所以你可以这样做:

die split /\n/, <<'END_MSG';
...
END_MSG