11
votes

Dans Perl, comment puis-je savoir si mon fichier est utilisé comme module ou exécuter en tant que script?

Disons que j'ai un fichier Perl dans lequel il y a des pièces que je dois exécuter uniquement lorsque je suis appelé comme un script. Je me souviens de lire de temps en temps de la lecture, y compris de ces parties dans une méthode principale () et de faire un xxx

mais j'ai oublié quelle était la condition. La recherche de Google n'a rien révélé fructueux. Quelqu'un peut-il signaler le bon endroit pour le chercher?


0 commentaires

3 Réponses :


16
votes

Si le fichier est invoqué sous forme de script, il n'y aura pas de appelant donc Vous pouvez utiliser: xxx pré>

voir Brian D FOY 's ' un href = "http://www.drdobbs.com/scripts-as-modules/184416165" rel = "Nofollow NOREFERRER"> Explication . P>

C:\Temp> mytest.pl
Hello World


3 commentaires

C'est vraiment utile. Merci pour le lien.


Qu'en est-il de perl -mmonclass -e '...' ?


@Brad gilber quand myclass.pm est écrit de cette façon, perl myclass.pm fait la même chose que perl -mmyclass -e 'principal ()'




7
votes

J'appelle ces choses "modulinos" à l'origine dans mon scripts en tant que modules article pour < em> le journal perl (maintenant dr. Dobbs ). Google à ce terme et vous obtenez les bonnes ressources. Sinan déjà lié à mes sources de développement pour l'un de mes livres où j'en parle. Vous pouvez aussi aimer Comment un script devient un module .


0 commentaires