1 pièce(s) jointe(s)
conversion de type string to ref
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:
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"); |