Tema anterior: Ejemplo de PerlScript: operador de script WinGetInfoPerlTema siguiente: Parámetros del proceso


Script (PerlScript)

El script crea dos campos indexados, HostList y OSList, en el conjunto de datos de operador WinGetInfoPerl. El script:

El script rellena la variable ARGV con las entradas del área de introducción Parámetros del operador Ejecutar script que realiza la llamada. El script asigna el número de filas que lee a la variable del conjunto de datos del operador NumRowsRead. La línea sleep 30 hace una pausa en el operador durante 30 segundos para que el usuario pueda examinar las carpetas y los archivos creados en la ubicación C2OSVD. No se recomienda incluir la línea sleep 30 en un script de producción.

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;