シェルコマンドを愛用しているので、Perlのソース見てもよくわかりません。。
さて、第19回のお題は「PerlでUNIXコマンドを実行する」です。
UNIXコマンドをPerlで加工できれば、使う機会が増えると思いました。
[test.pl]
#!/usr/bin/perl
my $ret;
$ret=`ls -1`;
print $ret;
[実行結果]
a.sh←printの結果
test.pl←printの結果
[test2.pl]
#!/usr/bin/perl
my $ret;
$ret=system "ls -1";
print $ret;
[実行結果]
a.sh←systemの結果
test.pl←systemの結果
0←printの結果
``(バッククォート)だと、標準出力されず結果を返り値に設定します。
system関数だと、標準出力されて実行プログラムのステータスコードを返り値に設定します。
``(バッククォート)またはsystem関数の後、$?を指定すると実行プログラムのステータスコードになります。
シェルスクリプトをPerlで実行するにはこんな感じです。
$ret=`./a.sh`;
$ret=system "./a.sh";
0 件のコメント:
コメントを投稿