Bonjour,
Le programme fourni par Gilou (lors de la discussion "Découper un fichier en plusieurs et optimisation" - mai 2013) m'est particulièrement utile.
Cependant je cherche à le modifier quelque peu...
1) Je ne comprends pas les sens de "$. %" sur cette ligne :
Code :
if ($. % $maxline == 0)
|
.
2) J'essaie de modifier ce programme, pour que la découpe du fichier se fasse selon le contenu de la ligne (et non à la nième ligne).
Je souhaite découper le fichier quand la ligne commence par dièse, sachant que ce qui suit le dièse serait le nom à donner au fichier.
De type :
Code :
# Global Variable my $FILENAME = 'test.txt'; #my $outname = "file"; #my $fnum = 1; #open(my $fout, ">", $DIR.$outname.sprintf("%03d", $fnum++)); open(my $fout, ">", $rep. $outname); $outname = ""; # Script open(my $fin, "<", $rep. $FILENAME); while (<$fin> ) { # if ($. % $maxline == 0) { if ($_ =~ /^#/) { $outname = $_; #open($fout, ">", $rep.$outname.sprintf("%03d" . ".aa", $fnum++)); open($fout, ">", $rep. $outname); } else { } }
|
ça ne fonctionne bien évidemment pas!
Je parviens à découper mon fichier si la ligne commence par "#", mais les nouveaux fichiers ne se nomme pas comme je le souhaite.
Quelqu'un peut-il me dire ce qui cloche.
D'avance merci,
Frelinf
Message édité par frelinf le 21-01-2014 à 15:28:47