|
|
Comment passer plusieurs tables comme arguments à un sous-programme de PERL ?
Nous vous proposons ici de passer des tableaux comme arguments à un sous-programme par leurs noms à l’aide d’alias.
 |
Publicité
|
Perl permet de passer un seul tableau comme argument à un sous-programme. Mais la programmation demande parfois de transmettre plusieurs tableaux. Dans ce cas, il faut créer les alias des tables que vous voulez transmettre. Pour cela, il faut écrire le sous-programme qui se réfère aux tableaux par ses noms. Le retour des tableaux et l'appel de ce sous-programme s'effectue aussi par les noms des variables tableaux.
Le procédé de création d'un autre nom pour se référer à la même variable est appelé création d'alias.
Nous proposons ici le code qui passe deux tableaux comme arguments à un sous-programme et fait leurs retours par leurs noms à l'aide d'alias.
@array1 = (1,2,3);
@array2 = (4,5,6);
(*array1_1_1,*array2_2_2)=&two_array_sub ( *array1, *array2);
$lenghtarray1_1_1=@array1_1_1;
for ($i=0; $i<$lenghtarray1_1_1; $i++){
print "array1[$i]=$array1[$i]\n";
}
foreach $element (@array2_2_2){
print "element=$element\n";
}
exit ;
sub two_array_sub {
local (*array1_1,*array2_2)=@_;
$lenghtarray1=@array1_1;
for ($i=0; $i<$lenghtarray1; $i++){
$subarray1[$i]=$array1[$i]+3;
}
foreach $element (@array2_2){
$element=$element*2;
}
return ( * subarray1, *array2_2);
}
*array1, *array2 sont les noms des tableaux @array1, @array2
@ array1_1 est un alias de @ array1 ;
@ array2_2 est un alias de @ array2 ;
Lorsque l'exécution du sous-programme est terminée @ array1_1, @ array2_2 ne sont plus des alias de @ array1 , @ array2 . Vous pouvez les utiliser pour accéder au contenu d'autres tables.
Pour le retour des valeurs :
@ subarray1 est un alias de @ array1_1_1;
@ array2_2 est un alias de @ array2_2_2.
|
A lire aussi sur Devparadise.com :
Rôle et Fonctionnalités sous Windows Server 2008
Simulation de la fonction LIMIT de MySQL avec SQL Server
Fonctions de date et heure en PHP
Manipulation des fonctions de dates en ASP
Détourage avec la commande extraire de Photoshop
A télécharger aussi sur Devparadise.com :
Téléchargez gratuitement ASP.NET Web Matrix
librairie javascript libV1.js avec exemples
UltraEdit Version 8.10
Slice and Dice 1.8.194
SiteManager 2.12
|
|