Estas son buenas reglas, si usted tiene una buena razón para romperlas, no dude en hacerlo:
Uso #!/usr/bin/env perl
siempre que sea posible para la portabilidad entre sistemas heterogéneos. Pero esa es una manera tonta de hacerlo porque supone que el Perl que está primero en el camino es también el Perl que siempre deseas. Eso puede no ser así, y generalmente cuando hay varios Perls en un sistema, están ahí por una cierta razón.
Un mejor enfoque es empaquetar scripts en una distribución preparada para CPAN. Distribuya las distribuciones a los sistemas en los que desee instalarlas e instálelas de la forma habitual (manualmente o con la cadena de herramientas CPAN), especificando la ruta completa a perl
o cpan
. Durante ese proceso, the shebang line is rewritten a la ruta correcta a Perl.
Ejemplos:
tar -xvf Local-OurCompany-Scripts-1.000.tar.gz
cd Local-OurCompany-Scripts-1.000
## automated installation
/usr/bin/cpan .
# or perhaps
/opt/ourcompany/perls/perl-5.14.2/bin/cpan .
## manual installation
/usr/bin/perl Makefile.PL ; make ; make install
# or perhaps
`which perl5.14.2` Makefile.PL ; make ; make install
Esta pregunta realmente no tiene nada que ver con los lenguajes de script específicos, pero me dejaron marcado Perl porque ese es el ejemplo utilizado en el título. – agf