考虑:

print "    $foo", "AAAAAAAA", $foo, "BBBBBBBB";

比方说,我想利用这个代码用print <<EOF;

print <<EOF;
    $fooAAAAAAAA$fooBBBBBBBB";
EOF

这是行不通的,因为Perl认为我有一个名为$fooAAAAAAAA变量。如何可以很容易地使用与print <<这样的线,当我有一个长的测试打印?

有帮助吗?

解决方案

使用${foo}

print <<EOF;
    ${foo}AAAAAAAA${foo}BBBBBBBB";
EOF

其他提示

下面的另一种方式使用printf做到这一点:

printf << EOF, $foo, $foo;
   %dAAAAA%dBBBBBBB 
EOF

也就是说,假设要打印$foo为十进制数。您也可以替换您所需要的任何格式%d

和另一个答案,基于非插值字符串,我认为这是最合适的。

print <<'EOF';
    $fooAAAAAAAA$fooBBBBBBBB";
EOF

http://perldoc.perl.org/perlop.html#Quote样-操作符

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top