[Linux-Biella] perl

Claudio M. cmaffio a bilug.it
Lun 19 Apr 2010 09:22:25 CEST


Il venerdì 16 aprile 2010 21:02:30 vallini.daniele a bilug.linux.it ha scritto:
> Fri, Apr 16, 2010 at 08:58:08AM +0200  Claudio M. ha scritto:
>
> Ho provato ma non funziona correttamente, temo vi sia qualche errore almeno
> di sintassi, la i ed il : li ho corretti ma si ostina a non operare con
> decenza.
Si, l'errore della i era stato segnalato anche da PaulTT
Ovviamente il codice non l'ho potuto testare in quanto non so cosa deve fare 
quindi e' stato scritto in modo ovviamente non preciso.

> > prova a fare una cosa del genere:
> >
> > foreach $pagina (303..310) {
> > 	open A, "< /gp/wrai/tmp2/$pagina";      # apro in lettura
> > 	open B, "> /gp/wrai/tmp3/$pagina";      # apro in scrittura
> >
> > 	$i=0;
> > 	$prec = "";
> > 	while (<A>) {
> > 		chomp $_;
>
> ma il chomp non deve essere dopo la verifica della linea pari?
> altrimenti scassa tutti i NL e mi esce una linea unica.
Da quello che ho visto del tuo codice ogni riga viene ripulita dal \n quindi 
io l'ho fatto operare su ogni riga, tu hai messo il chomp sulla rga pari e 
poi l'hai messo sulla stringa risultante dall'unione della pari e quella 
successiva, io l'ho semplicemente fatto prima.

> Mi viene anche un dubbio: la linea 0 e' considerata pari?
lo 0 e un numero pari in quanto divisibile perfettamente per 2!

>
> > 		if (i$i++ %2) {
>
>                     ^ questa i non l'ho capita
$i++ incrementa di 1 $i DOPO che e' stato usato
% da il resto della divisione, in questo caso da 0 (false) se il numero $i e' 
pari, 1 (true) se e' dispari 

> > 			$Riga3="$prec$_";
> > 		} else {
> > 			$prec = $_:
>
>                                   ^ tastiera bacata, mi sa che questo deve
> essere ;
Si si, come detto non l'ho potuto testare e qualche oerore di battitura e' 
scappato

>
> > 		}
> > 		[tutto quello che devi fare con $Riga3]
> > 	}
> > }

Se poi ci dici in cosa non funziona lo si puo' sistemare, dovresti dirci:
- esempio dati di input
- relativo esempio dati di output
- cosa ottieni dai dati di input di esempio elaborati da questo script

Bye

-- 
Contatto skype: cmaffio
Linux User: #151147
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  197 bytes
Descrizione: This is a digitally signed message part.
Url:         http://ml.bilug.linux.it/pipermail/linux/attachments/20100419/22ebffd2/attachment.bin 


Maggiori informazioni sulla lista Linux