Manipuler plusieurs fichiers en Perl

But

L’objectif de ce petit programme est de créer n fichier et d’écrire dedans des nombres de 0 a 100. Ce programme est surtout une démonstration de l’utilisation des références pour des filehandles.

si l’on appelle le programme de la manière suivante :

> reffile.pl fic1 fic2

Le programme créera de fichier fic1 et fic2 puis écrira :

  • 0 dans fic1
  • 1 dans fic2
  • 2 dans fic1
  • 3 dans fic2

...

  • 98 dans fic1
  • 99 dans fic2
  • 100 dans fic1

Code

#!/usr/bin/perl
 
use strict;
use warnings;
 
my $fileshandles = [];
 
 
unless (scalar @ARGV) {
 die "Usage $0 fic1 fic2 ... [fic100]\n";
}
 
my $indexfile = 0;
foreach my $file (@ARGV) {
 open $fileshandles->[$indexfile], ">$file" or die "open $file:$!\n";
 $indexfile++;
}
 
my $n = scalar @$fileshandles;
print "Nombre de fichier: $n\n";
 
foreach my $x (0..100) {
 my $fh = $fileshandles->[$x % $n]; #il vaut mieux utiliser une variable
 print $fh $x, "\n";
 print {$fileshandles->[$x % $n]} "cool\n"; #sinon on peut utiliser cette forme.
}
 
foreach my $fh (@$fileshandles) {
 close $fh or die;
}
 
tech/manipuler_plusieurs_fichiers.txt · Dernière modification: 2006/08/26 11:37 par danjer
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki Powered by Lescampeurs