[Linux-Biella] perl
Claudio M.
cmaffio a bilug.it
Ven 16 Apr 2010 08:58:08 CEST
Il giovedì 15 aprile 2010 21:06:13 vallini.daniele a bilug.linux.it ha scritto:
> Thu, Apr 15, 2010 at 09:26:22AM +0200 Claudio M. ha scritto:
> > > Mi sfugge qualcosa del beneamato perl ?
> >
> > Si, ti sfugge il fatto che il parsing di un file non passa dal mettere le
> > righe del file in un array!!!!!!
>
> A parte il ciclo for che non sapevo usare correttamente dove diavolo ho
> inoltre sbagliato? questo codice funziona:
>
> foreach $pagina (303..310)
> {
> open (A, "/gp/wrai/tmp2/$pagina"); # apro in lettura
> open (B,">/gp/wrai/tmp3/$pagina"); # apro in scrittura
>
> @Pagina=<A>; # array righe pagina..
>
> foreach $Riga
> (0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,
> 46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,
> 88,90,92,94,96,98,100)
> # for ($Riga = 0; $Riga <= 100; $Riga = $Riga + 2 ) questo l'ho imparato
> ora {
> chomp @Pagina[$Riga]; # elimino NL per abbinare le 2 linee dati...
> $Riga3="@Pagina[$Riga..$Riga+1]";
> chomp $Riga3; # elimino NL per abbinare data ultima e data
> precedente print B "$Riga3 $DataUlt $DataPre \n";
> };
> };
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 $_;
if (i$i++ %2) {
$Riga3="$prec$_";
} else {
$prec = $_:
}
[tutto quello che devi fare con $Riga3]
}
}
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/20100416/b20df4a4/attachment.bin
Maggiori informazioni sulla lista
Linux