如何从文本字符串插值分开的Perl变量?
-
21-08-2019 - |
题
考虑:
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
不隶属于 StackOverflow