Non, n'écrivez pas un script shell. Perl a déjà une façon parfaite de le faire. La méthode correcte consiste à créer une distribution prête pour CPAN en utilisant la chaîne d'outils normale. Une partie de ceci est expliquée dans perlnewmod, perlmodstyle et perlmodinstall.
Pour un exemple de travail minimum, créer une mise en page de répertoire ainsi:
.
├── Build.PL
├── README
└── script
└── abuscript.pl
Dans le fichier Build.PL
, mis:
use 5.000;
use Module::Build qw();
Module::Build->new(
module_name => 'abuscript',
dist_version => '1.000',
dist_author => 'abubacker <[email protected]>',
dist_abstract => 'describe what the script does in one sentence',
configure_requires => {
'perl' => '5.000',
},
requires => {
'JSON::Any' => 0,
},
)->create_build_script;
Modifier les détails à la suite vos besoins.
Dans le fichier README
, mettre des instructions d'installation, par exemple:
To install this module, run the following commands:
perl Build.PL
./Build install
Une fois que vous avez terminé avec tout cela, vous exécutez:
perl Build.PL
./Build manifest
./Build dist
Cela se traduira par une .tar.gz
archives que vous allez distribuer. Dites à vos utilisateurs de l'installer comme n'importe quel autre module CPAN, ou s'ils ne savent pas ce que cela signifie, ils devraient lire le fichier README.
Si vous avez le temps, je vous recommande de convertir votre script en module. Le programme pl2pm (livré avec Perl) et le module CPAN Module-Starter-PBP vous aident.
Si la licence le permet, il est possible de télécharger votre code sur CPAN pour le rendre encore plus pratique pour vos utilisateurs. Demander de l'aide dans l'un des endroits suivants d'abord: liste de diffusion [email protected], forum web PerlMonks, canal IRC#toolchain sur MagNET (irc: //irc.perl.org/toolchain)
Je préférerais 'perl -MJSON :: Any -e1 2>/dev/null' - est-il utile d'imprimer la version et de l'envoyer dans un seau bit – justintime
@justintime: Comme je l'ai dit, si vous voulez vérifier la version de JSON :: Any, capturer la sortie - cela m'a évité d'avoir à expliquer comment obtenir la version comme un exercice séparé. –