Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    1

    errore di "Use of uninitialized value"

    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
    ELLE

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Cosi` come e` scritto, e molto difficile seguire il programma. Manca la formattazione.

    Devi usare i tag VB, ad esempio mediante il bottone # che sta sopra l'area di inserimento testo.
    Inoltre il programma deve essere opportunamente indentato, altrimenti non si riesce a seguirlo.

    Il codice di erorre fa riferimento alle righe del programma: sarebbe utile sapere quali sono le righe incriminate (tu con il tuo editor fai presto a vederle, noi nel forum no).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.