Caching
 

キャッシング - Perlはシステムでは、exec、別の使用をreadpipe

呼び出し元のコマンドは、システムを動作させることができますPerlスクリプトで。これは、プログラマを与えるために多くの便利な機能を持ってPerlの柔軟性、システムのコマンド言語として接着の現れである。この方法では、他の人の結果を最大限に利用することができます、彼のハードの車輪を必要としない。
gbvy[W
Perlでは、システムを、execを使うことができる、他のスクリプトを、システムコマンドなどを呼び出すと、これらの3つのコマンドをreadpipe。これら3つのコマンドの主な違いはその戻り値。
1)システムの場合、この関数は、それは、たとえば、実行後の状態を返します。
@args = (“command”, “arg1″, “arg2″);
system(@args) == 0
or die “system @args failed: $?”




if ($? == -1) {
print “failed to execute: $!\n”;
}
elsif ($? & 127) {
printf “child died with signal %d, %s coredump\n”,
($? & 127), ($? & 128) ? ‘with’ : ‘without’;
}
else {
printf “child exited with value %d\n”, $? >> 8;
}
。execシステムは、偽の値を返すため、あなたのケースを実行するには、だけではない。
exec (‘foo’) or print STDERR “couldn’t exec foo: $!”;
{ exec (‘foo’) }; print STDERR “couldn’t exec foo: $!”;
3)私たちは、さらに処理を分析するためにシステムコマンドの実行結果を保存する必要がある場合は、readpipeこの関数を使用する必要があります。たとえば:
@result = readpipe( “ls -l /tmp” );
print “@result”;
結果は、次のよう:
drwxr-xr-x 2 root root 4096 Mar 19 11:55 testdir
もちろん、あなたも、毎日のログああを記述するためのリリースああレポートをファイルに結果を生成することができます。
$inject_command = “./ConfigChecker.bat F:/nic/3502/ARRAY-4AD2E0573/etc “.$device_name;
chdir “F:/TestTools/bin/”;
@temp_result = readpipe($inject_command);
open(result_file,”>result.txt”);
print result_file @temp_result;
close(result_file);
この方法では、システムの操作の結果はresult.txt下のファイルのシステムディレクトリに投げ込まコマンドを入れ