¿Cuál es el equivalente de Perl para las siguientes llamadas PHP?
$_SERVER["HTTP_HOST"]
$_SERVER["REQUEST_URI"]
Cualquier ayuda sería muy apreciada.
¿Cuál es el equivalente de Perl para las siguientes llamadas PHP?
$_SERVER["HTTP_HOST"]
$_SERVER["REQUEST_URI"]
Cualquier ayuda sería muy apreciada.
Las variables de entorno son una serie de valores ocultos que el servidor web envía a todos los CGI se ejecuta. Su CGI puede analizarlos y usar los datos que envían. Las variables de entorno se almacenan en un hash llamado % ENV.
Por ejemplo, $ENV{'HTTP_HOST'}
dará nombre de host de su servidor.
#!/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>";
Para más detalles ver CGI Environmental variables
¿Cuál es el entorno en el que está trabajando? Si se trata de CGI script de prueba:
use Data::Dumper;
print Dumper \%ENV;
Otra forma, que environement variables, es el uso de CGI:
use strict;
use warnings;
use CGI ;
print CGI->new->url();
Por otra parte, también ofrece una gran cantidad de manipulación CGI tales como accediendo a params enviando a su cgi, cookies etc ...
O puede hacer esto y usa la variable $ 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};
}
PERFECTION :) Funciona muy bien –
Esto funcionó muy bien, gracias. ¿Conoces el equivalente de Perl de la función PHP file_get_contents() también? He estado jugando con open pero no puedo acceder a una página en un servidor diferente al modo en que lo hace file_get_contents(). – dandemeyere
@dandemeyere: Lo que solía hacer era: abrir FILE, $ data = join '', luego cerrar FILE –
hlynur
La respuesta de hlynul con respecto a file_get_contents es errónea. Dandemeyere preguntó (y tenía una respuesta para esa pregunta) en http://stackoverflow.com/questions/3413151 –