J'ai 5 fichiers Perl qui sont des scripts de vérification pour 5 états différents de mon environnement.Dois-je utiliser des sous-programmes imbriqués dans Perl?
Chacun d'entre eux a au moins quelques sous-programmes.
Jusqu'à maintenant, le nombre d'états était limité à 5 et ceux-ci fonctionnaient bien. Mais maintenant, j'ai 20 autres états de l'environnement et donc 20 autres scripts Perl selon le design actuel. Je veux déplacer tous les cinq scripts vers un seul script qui prend l'état comme argument et possède 5 sous-programmes différents pour 5 états différents. De cette façon, quand j'ai besoin d'ajouter une vérification pour un autre état, je vais juste devoir définir un nouveau sous-programme au lieu d'un tout nouveau script Perl. Le problème est qu'il s'agira d'utiliser des sous-programmes imbriqués (qui sont known to run into issues), ou de dérouler les sous-programmes eux-mêmes.
Par exemple,
scripts originaux
$ cat verify1.pl
sub a1 {
...
}
sub b1 {
...
}
a1(); b1(); a1();
$ cat verify2.pl
sub a2 {
...
}
sub b2 {
...
}
sub c2 {
...
}
a2(); b2(); c2(); a2();
$
scénario consolidé
$ cat verify.pl
sub one {
...
}
sub two {
...
}
my ($arg) = @ARGV;
if ($arg == 1) {
one(); # should do what verify1.pl did
}
elsif ($arg == 2) {
two(); # should do what verify2.pl did
}
$
Que dois-je faire pour résoudre ce problème?
Non sûr, mais ce lien n'est probablement pas pertinent, sauf si vous utilisez actuellement mod_perl. Rappelez-vous simplement d'activer les avertissements et vous devriez aller bien .. –