Catégories
-
Commentaires récents
Archives
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
- avril 2007
- mars 2007
- avril 2006
- janvier 2006
- décembre 2005
- novembre 2005
- juin 2005
Autres articles susceptibles de vous intéresser :
- 27 avril 2009 -- Comment savoir si une machine est 32 bits ou 64 bits ?
- 7 janvier 2009 -- Perl – Préparation d’une répartition
- 15 décembre 2008 -- Perl – Template et modèles d’execution
- 29 octobre 2008 -- Perl – YAML est cool
- 23 octobre 2008 -- Perl – Rechercher une expression et garder plusieurs lignes


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 :