Skip to content
Tags

Perl – Embarquer un test dans un module

by Cyril on janvier 6th, 2009

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 :

From → System

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS