Recommended way to write a shebang in Perl
Recommended way to write a shebang in Perl. "#!/Usr/bin/env perl".
# !/usr/bin/env perl
Unix/Linux has a function called a shebang, which executes the contents written in the file with the command written in the shebang.
Shebangs start with "#!".
"#!/Usr/bin/env perl" is recommended because it works on most Linux/Unix environments.
perlbrew and plenv Even if Perl is installed in the user environment with>, it works correctly.
The env command searches the directory in the environment variable PATH and executes it with the first perl found.
Disadvantages of using env
The disadvantage of using env is that it is uncertain which Perl to use. As the name env suggests, it depends on the environment, called the PATH environment variable.
You have the choice of increasing the portability of your Perl scripts or running your program in a specified Perl.
Is the Shebang line required?
Shebang line is not mandatory.
If you run the perl command, you can run it in perl, regardless of shebang.
perl script.pl
In a Windows environment, you will often run it directly in Perl without writing a shebang.
For programs created in the field of server operation, follow any conventions or conventions that perl scripts should write shebangs, remove extensions, and treat them like executable files.
In the field of Perl-centered development, you may choose to run Perl programs with perl with the extension pl.
Shebangs are required in CGI scripts. This is because the CGI protocol does not execute a file that you have permission to execute as it is, and execute it with a command called perl. On a web server such as Apache, if you do not write a shebang, you will get an "Internal Server Error".
"#! Perl" is recommended for scripts included in the CPAN module
We recommend "#! Perl" as the script to include when distributing the CPAN module.
# ! perl
Mojolicious production server startup command hypnotoad also uses "#! perl". The CPAN client will automatically rewrite this line so that you can run the script on your Unix/Linux/Windows installation.