Il 27 ottobre 2014 16:48, Michele Bert <micbert75@xxxxxxxxx> ha scritto: > for my $mbr (@list) { #per ogni nome di file in @list > > my $infile; > my $ofile; > > # converti il file in ascii, e metti l'output in pipe > my $convcmd="dd if=$mbr.MBR bs=1 conv=ascii 2>$log|"; > open($infile,$convcmd) or die "Cannot open file $mbr\n"; > # $infile è l'handle che permette di leggere dalla pipe > > # apri il file di output > open($ofile ,">","$mbr.sql") or die "Cannot initialize output file > $mbr.sql\n"; > > while(read($infile,$line,79)>0) { #leggi 79 caratteri > print $ofile "$line\n"; # scrivi i 79 caratteri nel file di > output, segiuti da un new-line > } > close($ofile); #chiudi il file di output > > system("mv $mbr.sql $dest/$mbr.MBR 2>$log"); #sposta il file nella > directory $dest > # system("cp $mbr.sql $dest/$mbr.MBR 2>$log"); #copia il file nella > directory $dest > > close($infile); # chiudi la pipe > } Informazione supplementare. La riga che ho omesso nel listing precedente, appena prima della copia/spostamento del file: print $vasterm "ADDPFM FILE($mylib/$srcfile) MBR($mbr)\n"; In pratica crea una coppia di files, uno dei quali è proprio $dest/$mbr.MBR, che viene sovrascritto dal comando di copia/spostamento successivo. Le idee mi si cominciano a chiarire: - ho un processo parallelo ($vasterm) a cui do il comando di creare il file. - immediatamente dopo (aver dato il comando) copio un file con lo stesso nome - successivamente il processo $vasterm crea il secondo file (vuoto) sovrascrivendo quello che ho appena copiato. L'ipotesi è verosimile, no? -- Michele -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx