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 :
...
#!/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; }