j'ai un script qui utilise use IO::Pipe;use IO::Select; pour communiquer entre plusieurs processus (Un pere et les fils)
Le pere distribue a chaque fils l'adresse d'un tableau [ex : ARRAY(0x8153600)]
La communication se fait via des PIPE. La seul chose que puisse transmettre le pere au fils est une chaine de caractere. Ainsi, il transmet l'adresse du tableau à traiter sous forme de string. J'obtient une erreur sur le type :
Can't use string ("0x8153600") as an ARRAY ref while "strict refs" in ...
Est-il possible de forcer la conversion de type de string vers reference.
J'ai joint un morceau de code simplifié qui rejoue l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #!/usr/bin/perl use strict; my @tab = ("dimanche", "95874", "mercredi", "15"); my $ref = \@tab; sub run { my $reftab = shift; my @tab = @$reftab; print @$reftab, "\n"; } # ok run($ref); # ERREUR run("$ref");
Partager