我可以写一个Perl程序,我的第一行不是#!/path/
吗?
谢谢。
答案 0 :(得分:8)
仅当您想要在shell提示符下直接调用脚本时,才需要shebang(#!
),例如./yourscript
。你可以随时perl yourscript
跳过shebang。
答案 1 :(得分:6)
如果您的问题是对常量路径进行硬编码(例如#!/ usr / bin / perl而不是#!/ usr / local / bin / perl),请使用:
#!/usr/bin/env perl
这允许在你的PATH中寻找Perl解释器,使你的脚本更便携(Windows旁边)。
答案 2 :(得分:4)
是的,来自perldoc perlrun
(-S
开关下):
#!/bin/sh
eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}'
if $running_under_some_shell;
请参阅完整故事的文档。
答案 3 :(得分:0)
如果你这样做,那么你需要明确地调用Perl。如果该行存在,则系统知道它是Perl脚本,因此当您使脚本可执行时,您只需编写./script