在Perl中打印多行字符串而不使用变量替换的简单方法是什么?

mmc*_*coo 4 perl

我有一个Perl程序,它读入一堆数据,然后输出,然后输出几种不同的文件格式.我想让Perl成为这些格式之一(以.pm包的形式),并允许人们在他们自己的Perl脚本中使用munged数据.

使用Data :: Dump :: pp可以轻松打印出数据.

我还想在生成的包中打印一些辅助函数.

没有变量替换的情况下打印多行字符串的简单方法是什么?

我希望能够做到:

print <<EOL;
  sub xyz { 
    my $var = shift;
  }
EOL
Run Code Online (Sandbox Code Playgroud)

但后来我不得不逃避所有的$.

有一个简单的方法吗?也许我可以创建一个实际的子和一些神奇的漂亮打印机打印内容?打印的代码不必与输入匹配,甚至不清晰.

180*_*ION 41

用单引号括住分隔符的名称,不会进行插值.

print <<'EOL';
  sub xyz { 
    my $var = shift;
  }
EOL
Run Code Online (Sandbox Code Playgroud)

  • 没有'接受'对正确答案的热爱.:( (4认同)
  • 没关系,我想我必须自己哭泣才能在一大堆声望点上睡觉 (2认同)