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 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? p> p>
3 Réponses :
Si le fichier est invoqué sous forme de script, il n'y aura pas de appelant donc Vous pouvez utiliser: 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
C'est vraiment utile. Merci pour le lien.
Qu'en est-il de perl -mmonclass -e '...' code>?
@Brad gilber quand myclass.pm est écrit de cette façon, perl myclass.pm code> fait la même chose que
perl -mmyclass -e 'principal ()' code>
Mieux vaut ne pas le faire, et prendre une approche structurée comme Moosex :: Runnable . Votre classe ressemblera à: p> Vous avez maintenant une classe pouvant être utilisée à l'intérieur de votre programme: p> à l'intérieur d'un script interactif plus grand que la méthode "Run" ci-dessus: P> $ mx-run Get::Me::Data --help
Usage: mx-run ... [arguments]
--dsn Database to connect to
$ mx-run Get::Me::Data --dsn person_database
Type the person you are looking for: jrockway
<data>
$ mx-run Get::Me::Data --dsn person_database jrockway
<data>
+1 pour montrer une méthose voie. Je n'ai toujours pas fait l'investissement pour entrer dans cet état d'esprit.
J'appelle ces choses "modulinos" à l'origine dans mon scripts en tant que modules article pour < em> le journal perl em> (maintenant dr. Dobbs em>). 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 . P>