Salve a tutti,
mi sono cimentato da poco in perl ma sto da due giorni a sbattere la testa su questo problema. In pratica devo stampare a video una tabella formata da 3 colonne, la cosa pare funzioni, ecco il codice:
#!/usr/bin/perl
open(IN, "< C:/Program Files/Perl Express/Input/pplive.txt") || die "Impossibile aprire il file\n\n";
my %download;
my %upload;
my %ip;
while(<IN>) {
chomp;
(my $s, my $d, my $b) = split;
#caricamento negli hash
if($s eq "147.83.130.144"){
$upload{$d}+=$b;
$ip{$d}=1;}
else {
$download{$s}+=$b;
$ip{$s}=1;}}
#chiusura file
close(IN);
#stampa delle etichette
print "IP ADDRESS \t\t DOWNLOAD \t UPLOAD\n\n";
#stampa valori
foreach $k(keys %ip){
if(((exists $download{$k})==1)&&((exists $upload{$k})==0))
{
print $k . "\t\t" . $download{$k} . "\t\t----\n";
}
elsif(((exists $download{$k})==0)&&((exists $upload{$k})==1))
{
print $k . "\t\t----\t\t" . $upload{$k} . "\n";
}
else
{
print $k . "\t\t" . $download{$k} . "\t\t" . $upload{$k} . "\n";
}
}
ma quando l'eseguo mi da worning del tipo seguente:
Use of uninitialized value $s in string eq at secondo.pl line 13, <IN> line 2826.
Use of uninitialized value $s in hash element at secondo.pl line 17, <IN> line 2826.
Use of uninitialized value $b in addition (+) at secondo.pl line 17, <IN> line 2826.
Use of uninitialized value $s in hash element at secondo.pl line 18, <IN> line 2826.
Use of uninitialized value $s in string eq at secondo.pl line 13, <IN> line 4721.
Use of uninitialized value $s in hash element at secondo.pl line 17, <IN> line 4721.
Use of uninitialized value $b in addition (+) at secondo.pl line 17, <IN> line 4721.
Use of uninitialized value $s in hash element at secondo.pl line 18, <IN> line 4721.
Use of uninitialized value $s in string eq at secondo.pl line 13, <IN> line 6054.
Use of uninitialized value $s in hash element at secondo.pl line 17, <IN> line 6054.
Use of uninitialized value $b in addition (+) at secondo.pl line 17, <IN> line 6054.
Use of uninitialized value $s in hash element at secondo.pl line 18, <IN> line 6054
ecc ecc...
Come posso risolvere questa cosa?
Spero che qualcuno mi aiuti, sono un pò disperato
Grazie in anticipo