2014-12-30 22 views
1

我试图在perl中逃避@标志,但是我尝试过的任何操作都失败了。我在下面的代码以及输出。请求帮助解决问题。无法转义@登录perl

my $p4com = 'p4 print $java_file\@='.$changelist_no; 
print $p4com; 
my $fileContent = `p4 print $java_file\@=$changelist_no`; 
print $fileContent; 

代码错误和我试图运行的命令也失败。我想要做的是打印在特定更改列表中更改的perforce文件。

错误输出:

p4 print //.../smp/configbasetemplate/client/Dummy.java 
@=175085sh: line 1: @=175085: command not found 

回答

4

的问题不在于你无法逃避@,那就是你必须在$java_file年底换行,所以外壳解释@=175085一部分一个单独的命令。

要删除有问题的换行,写:

chomp $java_file 
+0

太谢谢你了。它解决了:) :) – moiz134

+0

@ moiz134:不客气! – ruakh