Allora, ho un file testo.txt cosi strutturato
;10 ;DISPONIBILITA' IMP. FINAN ; ; ;
;10 ;DISPONIBILITA' IMP. FINAN ; ; ;
;10.10 ;CASSA E VALORI BOLLATI ; ; ;
;10.10 ;CASSA E VALORI BOLLATI ; ; ;
;10.10. 11;CASSA GENERALE ; ; ;
;10.10. 13;CASSA TEST ; ; ;
;10.10. 21;VALORI BOLLATI ; ; ;
Ho provato a fare uno script che sostuisse, se il 4 carattere e' un ., lo stesso con ;
---------------------------------
open (IN, "< testo.txt");
open (OUT, "> testo.txt.new");
while ($r = <IN>) {
$f = substr( $r, 3, 1);
if ($f eq ".") {
$r =~ s/\./;/;
print OUT $r;
}
}
---------------------------------
Il file che crea ha il seguente output
;10 ;DISPONIBILITA' IMP. FINAN ; ; ;
;10 ;DISPONIBILITA' IMP. FINAN ; ; ;
;10;10 ;CASSA E VALORI BOLLATI ; ; ;
;10.10 ;CASSA E VALORI BOLLATI ; ; ;
;10;10. 11;CASSA GENERALE ; ; ;
;10;10. 13;CASSA TEST ; ; ;
;10;10. 21;VALORI BOLLATI ; ; ;
Questa e' una porzione di testo, e' come se quando trova due righe uguali non le elabori, lasciandole uguali.
Qualche idea?