2017-10-06 108 views
-1

我正在尝试在$ comment中存储注释,该注释可以是任何内容。 说:

GetOptions(
'-C=s' => \$comment, 
); 

假设用户输入 “你好$$$$”。当我尝试打印$注释或在其他地方使用它时,它正在采取当前正在运行的进程的PID。

print "$comment\n"; 

输出是:

Hello 109236109236 

有没有办法打印的内容,因为它是什么? 例如:

Hello $$$$ 

回答

5

的问题是不使用Perl如在下面的代码段中可以看出:

$foo = 'Hello$$$$'; 
print "$foo" # prints 'Hello$$$$' 

问题是代替用户正在使用的外壳。它扩展了命令行参数的PID内$$然后给出更改的参数传递给应用程序:

shell$ app.pl -C Hello$$$$  # calls app.pl with HelloPIDPID 

如果你不想这样,用户必须正确引用参数

shell$ app.pl -C 'Hello$$$$' # calls app.pl with 'Hello$$$$' 

再一次,在Perl中完全没有关于这个的,因为Perl只获得了已经扩展的参数。

+0

谢谢你的信息,它帮助了很多。 –

相关问题