Qual è l'equivalente Perl per le seguenti chiamate PHP?
$_SERVER["HTTP_HOST"]
$_SERVER["REQUEST_URI"]
Qualsiasi aiuto sarebbe molto apprezzato.
Qual è l'equivalente Perl per le seguenti chiamate PHP?
$_SERVER["HTTP_HOST"]
$_SERVER["REQUEST_URI"]
Qualsiasi aiuto sarebbe molto apprezzato.
Le variabili d'ambiente sono una serie di valori nascosti che il server Web invia ad ogni CGI si esegue. Il tuo CGI può analizzarli e utilizzare i dati che inviano. Le variabili d'ambiente sono memorizzate in un hash chiamato % ENV.
Ad esempio, $ENV{'HTTP_HOST'}
darà il nome host del server.
#!/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>";
Per maggiori dettagli vedi CGI Environmental variables
Qual è l'ambiente in cui lavori? Se si tratta di CGI script di prova:
use Data::Dumper;
print Dumper \%ENV;
altro modo, che environement variabile, è quello di utilizzare CGI:
use strict;
use warnings;
use CGI ;
print CGI->new->url();
Inoltre, offre anche un sacco di manipolazione CGI tale come accedere ai params inviare al tuo cgi, cookie ecc ...
Oppure puoi farlo e usa la variabile $ 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};
}
PERFEZIONE :) Funziona alla grande –
Questo ha funzionato alla grande, grazie. Ti capita di conoscere anche l'equivalente Perl della funzione PHP file_get_contents()? Ho giocato con open ma non riesco a farlo accedere a una pagina su un server diverso come fa file_get_contents(). – dandemeyere
@dandemeyere: Quello che facevo di solito era: aprire FILE, $ data = join '', quindi chiudere FILE –
hlynur
La risposta di hlynul riguardo file_get_contents è errata. ha chiesto dandemeyere (e ha avuto una risposta a questa domanda) all'indirizzo http://stackoverflow.com/questions/3413151 –