Perl sous-routine tableau et variable scalaire paramètres
Exactement comment puis-je passer les deux variables scalaires et les variables de tableau de données à un sous-programme en Perl?
my $currVal = 1;
my $currValTwo = 1;
my @currArray = ('one','two','three');
my @currArrayTwo =('one','two','three');
&mysub($currVal, $currValTwo,\@currArray, \@currArrayTwo);
sub mysub() {
# That doesn't work for the array as I only get the first element of the array
my($inVal, $inValTwo, @inArray, @inArrayTwo) = @_;
}
La pile, vous êtes à l'aide de deux?
C'est arrivé avec les deux, mais Blagovest réponse fixe!
J'ai été à la recherche pour cette question, toute la journée. Merci de poser cette!!!
C'est arrivé avec les deux, mais Blagovest réponse fixe!
J'ai été à la recherche pour cette question, toute la journée. Merci de poser cette!!!
OriginalL'auteur user391986 | 2011-06-09
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de récupérer des références parce que vous avez déjà passé comme référence (à l'aide de la
\
opérateur):et ensuite utiliser les références sous la forme de tableaux:
OriginalL'auteur Blagovest Buyukliev
Vous passe les arguments comme des références, si vous avez besoin de déréférencement à utiliser les valeurs. Soyez prudent si vous souhaitez modifier le tableau d'origine ou pas.
Cela va changer l'original
@currArrayTwo
, ce qui pourrait ne pas être ce que vous voulez.Cela ne fera que copier les valeurs et laisse le tableau d'origine intact.
Aussi, vous n'avez pas besoin de l'esperluette en face de la sous-nom, de perldoc perlsub:
Vous n'avez pas besoin de vider les parenthèses après votre sous-déclaration. Ceux-ci sont utilisées pour définir les prototypes, ce qui est quelque chose que vous n'avez pas besoin de le faire, sauf si vous le voulez vraiment.
Vous êtes les bienvenus!
Une idée de comment je peux passer un XML::Écrivain par référence"? Comment pourrais-je le déréférencement d'elle dans la sous-routine?
Je ne suis pas familier avec ce module, mais je dirais que tout objet est transmis avec une valeur scalaire.
OriginalL'auteur TLP
Ainsi, par exemple: C'est à l'aide d'instruction à la recherche de quelque chose dans un tableau:
C'est la sous-déclaration:
C'est l'appel à la sous (dernier paramètre: la valeur par Défaut valeur de l'indice de donner en retour si elle ne trouve pas)
C'est la routine:
OriginalL'auteur Cesare Imperiali