前のトピック: PerlScript の例: WinGetInfoPerl スクリプト オペレータ次のトピック: プロセス パラメータ


スクリプト(PerlScript)

このスクリプトでは、WinGetInfoPerl オペレータ データセットに HostList と OSList という 2 つのインデックス付きフィールドが作成されます。 スクリプト:

スクリプトにより、ARGV 変数は、呼び出し側のスクリプトを実行オペレータの[パラメータ]入力領域のエントリによって自動入力されます。 スクリプトによって、読み取った行数は、NumRowsRead というオペレータ データセット変数に割り当てられます。 「sleep 30」行は、オペレータを 30 秒間一時停止し、C2OSVD の場所に作成されたフォルダとファイルをユーザが確認できるようにします。 実稼働スクリプトには.sleep 30 行は含まれません。

use strict;
my $filename = "";
print "  sample script to retrieve OS level data into variables within C2O¥n¥n";
my $numargs = @ARGV;
if ($numargs == 1) {
$filename = shift @ARGV;
} else {
print "enter path and filename to process:¥n";
chomp($filename = <STDIN>);
}
my $c2osvd = $ENV{'C2OSVD'};
mkdir $c2osvd;
mkdir $c2osvd . "/HostList";
mkdir $c2osvd . "/OSList";
open HANDLE, $filename or die "ERROR: unable to open $filename: $!¥n";
my $counter = 0;
while (<HANDLE>) {
my @fields = split;
my $host = $fields[0];
my $opsys = $fields[1];
my $filename1 = $c2osvd . "/HostList/" . $counter;
open HH, "> $filename1" or die "ERROR: unable to open $filename1: $!¥n";
print HH $host;
close HH;
my $filename2 = $c2osvd . "/OSList/" . $counter;
open HH, "> $filename2" or die "ERROR: unable to open $filename2: $!¥n";
print HH $opsys;
close HH;
$counter++;
}
my $filename3 = $c2osvd . "/NumRowsRead";
open HH, "> $filename3" or die "ERROR: unable to open $filename3: $!¥n";
print HH $counter;
close HH;
close HANDLE;
sleep 30;