【发布时间】:2012-07-27 11:22:21
【问题描述】:
我的问题是关于 cgi 的。我想知道我是否将 Perl 脚本保存为 .cgi 文件,让服务器知道它是 Perl 脚本而不是其他东西的实际机制是什么?我知道源文件的开头有一个#!/usr/local/bin/perl,但这也是 Perl 编程语言的一部分,所以服务器在开始执行之前必须知道它是一个 Perl 脚本。
【问题讨论】:
-
#!不是 perl 的一部分。它被称为“shebang”。这是用于任何类型的文本“脚本”的 Unix 约定。 -
如果我想在其他操作系统中使用 cgi 怎么办?
-
取决于网络服务器。要么将其配置为将 .cgi 文件视为 perl,要么它已经读取了第一行以尝试确定它是什么类型的文件。
-
@Mat:是的,shebang 是类 Unix 系统上内核的一个特性——但 Perl 解释器也关注它。见
perldoc perlrun。
标签: perl web webserver cgi handler