0
我需要在命令中使用變量運行命令。我需要捕獲輸出並將其保存在一行變量或一個數組中,這並不重要。無論如何,它將被粘貼到Tk的文本框中。使用Perl讀取unix命令輸出
我已經試過:
my @array = '$variable_with_command';
我真的不能使用:
my $variable = 'unixcommand $variableinside';
,因爲裏面的變量,我已經看到了作爲一個建議其他計算器的職位。
它的工作原理爲:
my $readvariable = 'ls -a';
,因爲沒有變量裏面,除非有辦法,包括變量和有$ readvariable趕輸出?提前致謝。
這裏是我的代碼(這個印刷零):
sub runBatch {
my $directory = "/directpath/directoryuser/sasmodules/";
my $command = 'sasq ' . $directory . $selectBatch;
my @batch = system($command);
print "This is the output\n";
print "-----------------------------------";
print @batch;
print "-----------------------------------";
}
這不會有很多工作要做,在命令中的變量。它與['system'](http://search.cpan.org/perldoc?perlfunc#system)命令沒有做你認爲它的工作。要捕獲外部命令的輸出,您需要使用反引號,'qx()'運算符或['readpipe'](http://search.cpan.org/perldoc?perlfunc#readpipe)。 – mob
謝謝,但是,如果它不是變量我不會有問題。我相信使用反引號是正確的方式,適用於我的問題。我相信Perl似乎有很多解決方案。 –