El lenguaje práctico de extracción e informes o Perl es un lenguaje basado en intérpretes. Los hash-bangs o shebangs son útiles cuando ejecutamos scripts de Perl en sistemas similares a Unix, como Linux y Mac OSX. Una línea Hashbang es la primera línea de un programa Perl y es una ruta al binario Perl. Permite invocar los scripts de Perl directamente, sin pasar el archivo a Perl como argumento. Una línea Hashbang en Perl se ve así:
#!/usr/bin/perl
Una línea Hashbang se llama así porque comienza con Hash(#) y bang(!) . Una línea hashbang en Perl tiene una importancia significativa en un código Perl. Ahora, comencemos con el uso de esta línea Hashbang.
Ejemplo: supongamos que tenemos un script del programa hello world de Perl que ejecutaremos en un sistema Linux con la terminal.
use strict; use warnings; print "Hello World\n";
Ahora, lo guardaremos con el nombre hello.pl y en la terminal, lo ejecutaremos por –
$ perl hello.pl
Salida:
Aquí, en el código anterior, la terminal está ejecutando Perl primero y luego se le pide a Perl que ejecute el script de código. Si el script de código se ejecuta sin invocar primero a Perl, entonces surge un error.
Intente ejecutar el código como se muestra a continuación:
$ hello.pl
Salida:
aquí, el shell que usamos, trató de interpretar los comandos en el archivo. Sin embargo, no pudo encontrar el comando imprimir en Linux/Unix. Por lo tanto, es necesario informar a Shell que se trata de un script Perl. Este es el punto donde el concepto de Hashbang entra en acción. Hashbang informa al terminal sobre el script.
Sin embargo, antes de ejecutar este código, es necesario establecer la ruta del shell para agregar el directorio actual a los directorios existentes. Esto se puede hacer ejecutando el siguiente comando:
$ PATH = $PATH:$(pwd)
Esto agregará el directorio de trabajo actual a la lista de directorios en la variable de entorno PATH .
A continuación, es necesario agregar la línea Hash-bang #!/usr/bin/perl en el archivo de secuencia de comandos de Perl hello.pl . Esta línea siempre se agrega al comienzo del código, es decir, la primera línea del script del código es la línea Hashbang.
#!/usr/bin/perl use strict; use warnings; print "Hello World\n";
Si el código anterior se ejecuta como $hello.pl , sin ejecutar Perl primero, el resultado será: El
código anterior funciona bien y no se produce ningún error debido a la línea Hashbang #!/usr/bin/perl agregada como la primera línea del guión.
Cuando se ejecuta el script, se ejecuta en el entorno de shell actual. Si el script comienza con un hash y un bang (hash-bang) #! luego, el shell ejecutará la aplicación que tiene su ruta en la línea hash-bang (en este caso /usr/bin/perl ), que es la ubicación estándar del compilador-intérprete de Perl. Entonces, la línea hash-bang contiene la ruta al compilador-intérprete de Perl.
Ahora, el error ocurre cuando no hay una línea hash-bang en el archivo e intentamos ejecutarlo sin ejecutar Perl explícitamente. El shell asume que el script está escrito en Bash y, por lo tanto, intenta ejecutarlo en consecuencia, lo que genera errores.
Publicación traducida automáticamente
Artículo escrito por soumit1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA