jda*_*mae 5 variables perl interpolation
如何qx使用我的$opt变量执行Perl的函数?
之前(工作):
my @df_output = qx (df -k /tmp);
Run Code Online (Sandbox Code Playgroud)
我想请使用-k,-g或-H:
my @df_output = qx (df -$opt /tmp);
Run Code Online (Sandbox Code Playgroud)
你有什么应该工作,但是:永远不要使用qx.这是古老而危险的; 无论你喂它到底是什么,都很容易受到外壳注入的影响,或者如果/bin/sh不是你想象的那么会遇到惊喜.
使用多arg形式open(),完全绕过shell.
open my $fh, '-|', 'df', "-$opt", '/tmp' or die "Can't open pipe: $!";
my @lines = <$fh>; # or read in a loop, which is more likely what you want
close $fh or die "Can't close pipe: $!";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12488 次 |
| 最近记录: |