#!/usr/bin/perl -w
eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}'
if 0; # not running under some shell
当我们不确定perl安装目录的时候可以这么写
#!/usr/bin/perl -w
eval “exec perl -w -S $0 $@”
if 0; # not running under some shell
这几行程序包含了太多的技巧。
的确需要很深的功力才能看得懂。
首先解释一下,# 打头的行在 shell 中表示该行是注释行,但是如果该脚本具有可执行权限,
而直接执行(如 C 的 exec* 系列系统调用,或者 shell 下直接敲脚本名称)的时候,该行
起到指示解释器的作用。在本例中,指定解释器是 /usr/bin/perl(假设用户的系统上已经
安装了 Perl 并且安装位置就在 /usr/bin/perl 否则该脚本无论如何都是无法执