[Linux-Biella] (no subject)
andrea_ferraris@libero.it
linux@ml.bilug.linux.it
Wed, 24 Mar 2004 07:13:11 +0100
>From: <vallinidaniele@libero.it>
> > > #!/usr/bin/perl
> > > print "\nelaboro la rumenta di LeOS\n";
> > > open A, "path del file input"; # apro file in lettura
> > > $"=""; # separatore di lista nullo
> >
> > Hai voglia di spiegarmelo? Ovvero cos'e` un operatore di lista e
> > nei dettagli quei 3 doppi apici.
>
> Separatore di lista, non operatore.
> E' analogo all' ILS di bash.
IFS? che credo abbia il torto di chiamarsi nello stesso modo anche in awk,
coi casini che ne possono derivare.
> Nell' analisi della riga voglio creare un array ma quale carattere separa
> gli elementi?
> Se gli elementi dell' array dovessero essere singole parole il separatore
> di lista, che in perl si scrive $", potrebbe essere lo spazio fra le
parole
> quindi sarebbe $"=" ";
> Se invece voglio che ogni ogni singolo carattere o spazio sia un elemento
> dell'array allora non esiste piu' uno specifico separatore quindi e' una
> stringa nulla $"="";
Grazie 1000. Adesso so che bestia e` $".
> > > @riga=<A>; # creo array righe pagina
> > > foreach $numriga(0..2) # processo 3 righe dati
> >
> > E se invece le voglio processare tutte?
>
> $riga=@riga # questo e' il numero di elementi che
compongono
> # l' array ( il numero di righe)
> foreach $numriga(0..$riga-1) # processo tutte le righe
grz!
> > Questa soluzione mi ha fatto venire in mente l'analogo in sh,
> > vediamo quale e` piu` lunga ;-)
> >
> > #!/bin/sh # funziona probabilmente solo su Linux, altrimenti /usr/bin/sh
> > echo elaboro la rumenta di LeOS # e qui si risparmiano 2 doppi apici e 2
nl
> > e 1 ;
>
> no mi pare che anche in bash gli apici siano necessari:
> echo "elaboro la rumenta di LeOS"
Non sono un esperto apicettatore, pero` in questo caso funziona anche senza.
> > while read R # leggo il file (vedi linea del done) mettendo ogni riga
nella
> > variabile R
> > do
> > echo `echo $R | cut -c7-11`" "`echo $R | cut -c23-34`
> > done < "path del file input"
> > echo finito di elaborare la rumenta di LeOS
>
> Quando pensai di usare read rimasi sviato dal suo uso normale che e' la
> lettura dello standard input, attende cioe' una immissione da tastiera.
>
> Effettivamente il meccanismo e' analogo ma imparai ad usare il perl e lo
> trovai piu' comodo per l' analisi complessa delle pagine di teso.
Credo che lo sia, e` fatto apposta.
> Mi riprometto appena posso di migliorare la mia conoscenza di bash.
E io di iniziare la mia di perl ... se la situazione lo richiedera` ;-)
Andrea