1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| use strict;
use warnings;
use Symbol;
# programme perl
# Problème de syntaxe du print dans un fichier avec un handle de fichier dans un tableau
# Note c'est dans un tableau parce que dans la vie réelle il y a besoin de plusieurs handle
# Mais on n'en met qu'un pour simplifier
my $f = "toto.txt";
my @fhs; # tableau de handle's
open(my $fh, '>', $f) or die "Cannot open $f: $!";
push @fhs, $fh; # place le handdle dans le tableau
# print $fhs[0] . "\n"; # on peut vérifier qu'il y a bien une valeur
# Les 2 lignes ci-dessous marchent (on peut vérifier que le fichier toto.txt contient bien le texte
my $fh2 = $fhs[0];
print ($fh2 "bonjour les amis fh2 ");
# La ligne ci-dessous ne marche pas (indique : "Not a CODE reference at test01.pl line 18.")
# print ($fhs[0] "bonjour les amis KO ");
# La ligne ci-dessous marche aussi alors qu'on appelle "de la même façon" que pour le print
close $fhs[0];
print ($fh2 "tentative de print apres le close provoque bien une erreur");
# print "fini : qui peut m'expliquer ?"; |
Partager