PDA

View Full Version : [PERL] Errore nella gestione delle variabili


CH1CC0
27-04-2009, 22:20
Ciao a tutti, ho un problema con la gestione delle variabili in uno script PERL.

Prendo un valore da una sessione telnet (con net::telnet),
lo assegno ad una variabile (lettura),
a questo punto lo script verifica "lettura",
assegna uno stato a STDOUT e lo stampa.

La cosa strana è che non riesco a ricevere il valore usando una variabile scalare (se stampo $lettura mi restituisce sempre '1').
Se invece uso una variabile vettoriale, il valore viene preso correttamente (se stampo @lettura[0] mi restituisce il valore giusto :confused: )

A questo punto, il semplice controllo di "maggiore/minore/uguale" non funziona più e STDOUT viene falsato :muro:

Questa è la subroutine che fa il controllo:
(NOTA: $cmd, $crit e $warn vengono definite prime)

sub runcmd {
@lettura=$telnet->cmd(
String => "$cmd",
Prompt => '/Bye/',
);

if (@lettura <= $crit) {
$STDOUT='2';
} else { if (@lettura <= $warn && $lettura > $crit) {
$STDOUT='1';
} else { if (@lettura > $warn) {
$STDOUT='0';
} else { $STDERR='Output non interpretabile';
}
}
}

print "$STDOUT\n";


Please help me :help:
Grazie

CH1CC0
28-04-2009, 00:07
Risolto!!! :D

Ho usato un "trucchetto"

Ho assegnato ad una variabile scalare, il valore dell'array che mi serve ed ora tutto funziona :fiufiu: