我刚开始阅读O'Reilly的《Learning Perl,第6版》,当我看到此摘录时感到惊讶。
#!/usr/bin/perl
print "Hello, world!\n";
假设您已经在文本编辑器中输入了该内容。(不必担心这些部分的含义以及它们如何工作。稍后您会看到它们的意思。)通常,您可以将该程序保存为所需的任何名称。Perl不需要任何特殊的文件名或扩展名,最好不要使用任何扩展名。
为什么没有扩展更好?想象一下,您已经编写了一个计算保龄球得分的程序,并且已经告诉所有朋友它的名称为bowling.plx。有一天,您决定用C重写它。您是否仍用相同的名称来命名它,这意味着它仍然是用Perl编写的?还是您告诉所有人它都有一个新名称?(请不要把它叫做Bowling.c!)答案是,如果他们只使用它,用什么语言写的与他们无关。因此,它首先应该只是被称为保龄球。
这是我从该视图看到的唯一资源,我阅读的所有其他内容都支持.pl扩展名。我还不是Perl程序员,所以在养成习惯之前,我想知道社区对此的看法。
.pl
对要分发的程序使用扩展名(信息是杂音,而不是信号),但这对于本地脚本是一个有用的提醒。无论如何,此讨论对于> 90%的Perl代码而言都是无关紧要的,因为它是在模块中(.pm
需要扩展)或在测试中(.t
常规扩展)。
#!/usr/bin/env perl
如果文件没有扩展名冲突(例如.cpp
),则Vim和Kate都可以正确地将以该行开头的文件标识为Perl脚本。该file
程序(用于推断给定输入的MIME类型)正确地推断出text/x-perl
其扩展名。