Perl – Embarquer un test dans un module
Le principe est de tester la valeur retournée par la fonction caller() qui, dans un contexte scalaire, revoit le nom du paquetage d’appel.C’est le cas lorsque le module est utilisé via use() ou require(). Si le module est exécuté en tant que script, il ne sera pas chargé par un autre fichier et caller() retournera « false« .
Nous pouvons donc utiliser cette propriété pour embarquer une fonction de test qui sera exécutée lorsque le module sera appelé comme script.
Exemple :
package MonModule;
__PACKAGE__->run_test( @ARGV ) unless (defined(caller)) ;
sub run_test {
printf("%s::%s inside !\n", __PACKAGE__, 'run_test');
}
#perl ./MonModule.pm
MonModule::run_test inside !
Autres articles susceptibles de vous intéresser :
No comments yet

