2009-02-03 42 views
35

print“$ foo”,“AAAAAAAA”,$ foo,“BBBBBBBB”;如何从插入字符串中的文本中分离Perl变量?

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

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

这是行不通的,因为Perl的认为我有一个名为$ fooAAAAAAAA变量。当我有很长的打印测试时,如何轻松使用print <<这样的线条?

回答

54

使用${foo}

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

作为一个小不谈,这种方法也适用于普通的字符串:打印 “$ {} foo的酒吧”; – user55400 2009-02-03 12:01:54

4

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

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

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

相关问题