什么是Perl相当于PHP的$ _SERVER [...]?

dan*_*ere 6 perl cgi

以下PHP调用的Perl等价物是什么?

$_SERVER["HTTP_HOST"]
$_SERVER["REQUEST_URI"]
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

ben*_*uth 13

另一种方式,比变量environement,是使用CGI:


use strict;
use warnings;
use CGI ;

print CGI->new->url();

Run Code Online (Sandbox Code Playgroud)

此外,它还提供了很多CGI操作,如访问params发送到您的cgi,cookie等...


Nik*_*ain 6

环境变量是Web服务器发送给您运行的每个CGI的一系列隐藏值.您的CGI可以解析它们并使用它们发送的数据.环境变量存储在名为%ENV的哈希中.

例如,$ENV{'HTTP_HOST'}将提供服务器的主机名.

#!/usr/bin/perl

print "Content-type:text/html\n\n";
print <<EndOfHTML;
<html><head><title>Print Environment</title></head>
<body>
EndOfHTML

foreach my $key (sort(keys %ENV)) {
    print "$key = $ENV{$key}<br>\n";
}

print "</body></html>";
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅CGI环境变量


小智 5

或者,您可以执行此操作并使用变量$ page_url。

my $page_url = 'http';
$page_url.='s' if $ENV{HTTPS};
$page_url.='://';
if($ENV{SERVER_PORT}!=80)
{
    $page_url.="$ENV{SERVER_NAME}:$ENV{SERVER_PORT}$ENV{REQUEST_URI}";
}
else
{
    $page_url.=$ENV{SERVER_NAME}.$ENV{REQUEST_URI};
}
Run Code Online (Sandbox Code Playgroud)