Ligne #!/usr/bin/perl dans le script Perl

Très bien partie, vous pouvez voir que la première ligne dans un script Perl est #!/usr/bin/perl.

Voici un exemple très simple d'un programme Perl:

▶ Run
#!/usr/bin/perl

print 'Hello';

Si vous enregistrez ce texte dans un fichier script.pl, puis exécuter dans la console perl script.pl, l'écran affiche la barre de Hello.

Le plus intéressant est que si la suppression du fichier script.pl ligne #!/usr/bin/perl (pour ne laisser que une seule ligne de print 'Hello';) et d'exécuter ce code à l'aide perl script.pl, le résultat sera exactement le même pour l'affichage de la chaîne Hello.

La commande dans la console perl script.pl dit que vous devez exécuter l'interpréteur perl et comme argument de lui transmettre une chaîne script.pl (le nom du fichier avec le code du programme). Avec un tel démarrage est complètement égal, si le script.pl la première ligne #!/usr/bin/perl ou non. Le système exécute perl, et ce programme est déjà perçoit le texte à partir d'un fichier texte le programme Perl.

Mais l'équipe perl script.pl — ce n'est pas la seule façon que vous pouvez exécuter un script Perl. Une autre option est de rendre ce fichier exécutable et de l'exécuter.

Encore une fois prenez le texte de la première ligne:

▶ Run
#!/usr/bin/perl

print 'Hello';

Sauvons ce texte dans un fichier script.pl , et tapez dans la console:

$ chmod a+x script.pl
$ ./script.pl
Hello

Avec l'aide de la commande chmod a+x script.pl , nous avons installé le fichier drapeau qu'il est effectué un fichier (executable). Et puis, avec l'aide de la commande ./script.pl ont dit que nous voulons exécuter le fichier script.pl, qui se trouve dans le répertoire (le répertoire courant est indiquée par un point, /— c'est le séparateur entre le répertoire et le nom du fichier).

Lors du démarrage ./script.pl il est important que la première ligne dans le fichier a été #!/usr/bin/perl. Si nous supprimons cette ligne à partir d'un fichier et essayer de l'exécuter ./script.pl, nous obtenons une erreur:

$ ./script.pl
./script.pl: line 1: print: command not found

Lorsque Perl script est exécuté comme ./script.pl la première ligne du fichier doit être #!/usr/bin/perl.

Quand nous lançons un fichier exécutable à partir du texte d'un programme à l'aide de ./script.pl, le système comme doit comprendre que vous avez besoin d'exécuter ce texte du programme (Mac OS et linux, ce lieu n'est ne regarde pas sur l'extension de fichier). C'est juste pour assurer cette compréhension et utilisé cette première ligne dans un format spécial. Grille de point d'exclamation, puis le chemin d'accès complet l'interpréteur à l'aide de laquelle vous souhaitez exécuter le code.

Si vous ne spécifiez pas dans le fichier la ligne #!/usr/bin/perl et d'exécuter du code à l'aide de ./script.pl, ce système va considérer que le code est écrit sur chelles dans laquelle vous travaillez (par exemple, bash) et tenter d'effectuer le texte du programme dans le langage de programmation Perl comme si ce texte sur bash.

Cette chaîne spéciale, ce n'est pas la spécificité du langage de programmation Perl et la spécificité du système. Pour d'autres langages de programmation, aussi, il ya des lignes #!/usr/bin/python, #!/usr/bin/lua , etc.

Total de la recommandation — la première ligne dans un script Perl doit toujours être #!/usr/bin/perl.

Autres articles