print“$ foo”,“AAAAAAAA”,$ foo,“BBBBBBBB”;如何从插入字符串中的文本中分离Perl变量?
比方说,我想利用这个代码用print <<EOF;
:
print <<EOF;
$fooAAAAAAAA$fooBBBBBBBB";
EOF
这是行不通的,因为Perl的认为我有一个名为$ fooAAAAAAAA变量。当我有很长的打印测试时,如何轻松使用print <<
这样的线条?
print“$ foo”,“AAAAAAAA”,$ foo,“BBBBBBBB”;如何从插入字符串中的文本中分离Perl变量?
比方说,我想利用这个代码用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
作为一个小不谈,这种方法也适用于普通的字符串:打印 “$ {} foo的酒吧”; – user55400 2009-02-03 12:01:54