String #!/usr/bin/perl i Perl-script

Meget ofte kan du se, at den første linje i Perl-script er #!/usr/bin/perl.

Her er et eksempel på et meget simpelt program i Perl:

▶ Run
#!/usr/bin/perl

print 'Hello';

Hvis du gemmer denne tekst til en fil script.pl, og derefter udføre i konsollen perl script.pl, skærmen vises Hello.

Det mest interessante, at hvis du vil fjerne fra en fil script.pl linje #!/usr/bin/perl (skriv kun en linje print 'Hello';) og køre denne kode ved hjælp af perl script.pl, resultatet vil være nøjagtig den samme på skærmen vises Hello.

Den kommando i konsollen perl script.pl siger, at du er nødt til at køre tolk perlog et argument for at give ham en linje script.pl (navnet på filen med det program-kode). Når du kører på denne måde, det gør ikke noget, hvis filen script.pl den første linje #!/usr/bin/perl eller ikke. Systemet starter perl, og dette program tager en tekstfil som sms program i Perl sprog.

Men holdet perl script.pl er ikke den eneste måde, hvordan til at køre Perl-script. En anden mulighed er at gøre denne eksekverbare fil og udføre den.

Igen tage den tekst, hvor der er en særlig første linje:

▶ Run
#!/usr/bin/perl

print 'Hello';

Gem denne tekst til en fil script.pl og køre i konsollen:

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

Kommando chmod a+x script.pl sætter vi filen flag, at det er en eksekverbar fil (eksekverbar). Og derefter med kommandoen ./script.pl sagde, at de ønsker at udføre en fil script.pl, der er i den aktuelle mappe (den aktuelle mappe er markeret med en prik, og /— dette er separator mellem bibliotek og filnavn).

Når du starter ./script.pl det er vigtigt, at den første linje i filen blev #!/usr/bin/perl. Hvis vi vil slette denne linje fra filen, og prøv at køre det ./script.pl, vi får fejlen:

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

Når Perl scriptet kører som ./script.pl er den første linie i filen skal være #!/usr/bin/perl.

Når vi køre den eksekverbare fil i det program, der bruger ./script.pl, systemet på en eller anden måde har brug for at forstå, hvad du har brug for at køre denne kode (Mac OS og linux på dette sted er du må ikke se på den file extension). Det er blot for at sikre denne forståelse og bruges dette er den første streng i et særligt format. Gitter, udråbstegn, og så den fulde sti til tolk med til at køre koden.

Hvis du ikke angiver den fil linje #!/usr/bin/perl , og udfør kode ved hjælp af ./script.pl, systemet vil antage, at den kode skrevet i skallen, hvor du arbejder (for eksempel, bash) og prøv at køre det program i programmeringssproget Perl som denne tekst på bash.

Denne specielle streng er ikke detaljerne i programmeringssproget Perl og specificitet af systemet. For andre programmeringssprog har også en lignende linje #!/usr/bin/python, #!/usr/bin/lua , osv.

Den samlede anbefaling — den første linje i Perl-script bør altid være #!/usr/bin/perl.

Andre artikler