Tópico anterior: Exemplo PerlScript: operador de script WinGetInfoPerlPróximo tópico: Parâmetros do processo


Script (PerlScript)

O script cria dois campos indexados, HostList e OSList, no conjunto de dados do operador WinGetInfoPerl. O script:

O script preenche a variável ARGV com as entradas da área de entrada de parâmetros da chamada do operador Executar o script. O script atribui o número de linhas que lê à variável do conjunto de dados do operador NumRowsRead. A linha sleep 30 pausa o operador por 30 segundos para que o usuário possa examinar as pastas e os arquivos criados no local C2OSVD. Você não incluiria a linha sleep 30 em um script de produção.

use strict;
my $filename = "";
imprimir " script de exemplo para recuperar os dados no nível OS em variáveis dentro do C2O\ n\ n";
my $numargs = @ARGV;
if ($numargs == 1) {
$filename = shift @ARGV;
} else {
imprimir "digite o caminho e o nome do arquivo para processar:\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;