[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux_var] [OT][PERL] Quale struttura dati?



2009/3/20 Aladino Amantini <geniodelmale@tele2.it>


On Fri, 20 Mar 2009 16:04:30 +0100
0bscure wrote:
> Saluten
>
> Domanda per chi si diletta di Perl almeno al livello
>monaco corrotto
>
> Il dato di input e' composto da un'associazione univoca
> NN STRINGA
> del tipo:
> 11 PERL
> 2 LINUX
>
> (Il separatore tra i due campi e' a mia discrezione)
>
> Ora qual'e' secondo voi la struttura dati tranquilla
>adatta per una
> memorizzazione per accesso sequenziale? (Non ho un db)
> Io pensavo ad un array a 2 dimensioni.
> Da qui il problema:
>
> [cut]
> while ()

> {
> chomp;
> ($str, $banned) = split(/;/);
> push(@BANLIST,$str,$banned);
> }
> }
>
> print "@BANLIST"; <---- Restituisce l'array multidim.
> print "@BANLIST[2]"; <---- Restituisce giustamente il
>secondo
> elemento prima colonna (es. 2)
>
> print "@BANLIST[1][1]"; <--- Non funziona
> print "@BANLIST[1]->[1]"; <---- Non funziona
>
>
> So how?

Con perl ho fatto proprio poco piu' che altro qualche scrippettino per facilitarmi nella gestione di input o output massiccio.
Quello che proverei io e' un

print "$BANLIST[1][1]";

oppure

print "$BANLIST[1]->[1]";

insomma di cambiare di array a grandezza scalare, alla fine tu stai cercando di accedere a un campo (scalare) di un array.

ripeto, con perl ho fatto solo qualche scrippettino del cavolo andando piu' che altro a tentativi.

by aL



Grazie seminarista!! :-)

In realta' vedo che il problema e' a monte:
La
      push(@BANLIST,$str,$banned);

non inserisce come array multidim. ma sequenziale quindi prima ho detto male print "@BANLIST[2]"; restituisce il terzo elemento dell'array monodimensionale... ergo la push non si usa cosi probabilmente...

Non trovo molta docs anche sul web... eppure e' un operazione base...




--
gpg fingerprint = D66C 9448 F9CC 8AC8 5074  ADB3 3597 A363 FA8D 3BE2

La pulenta e ùl vin ross a fan ben ai oss!! Picaa giòò fin a la mort...

http://digilander.libero.it/ccudiga/