Rubrique précédente: Exemple de PerlScript : Opérateur de script WinGetInfoPerlRubrique suivante: Paramètres de processus


Script (PerlScript)

Le script crée deux champs indexés, HostList et OSList dans l'ensemble de données d'opérateur WinGetInfoPerl. Le script :

Le script remplit la variable ARGV avec les données contenues dans la zone Paramètres de l'opérateur appelant Exécuter un script. Le script affecte le nombre de lignes lues dans la variable d'ensemble de données d'opérateur NumRowsRead. La ligne sleep 30 interrompt l'opérateur pendant 30 secondes. L'utilisateur a ainsi le temps d'examiner les dossiers et fichiers créés à l'emplacement C2OSVD. Vous ne devez pas inclure la ligne sleep 30 dans un script de production.

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;