All,
I am working on Recipe 3.4. I have the following saved as cgi-perl/try.pl:
#! /usr/bin/perl -w
# file: try.pl
use strict;
use Apache::Const qw(:common);
my $r=shift;
# Grab all of the headers at once
my %headers_in=$r->headers_in;
# or get a specific header and do something with it
my $gzip=$r->headers_in->get('Accept-Encoding')=~m/gzip/;
$r->send_http_header('text/plain');
print "The host in your URL is: ", $headers_in{'Host'}, "\n";
print "Your browser is: ", $headers_in{'User-Agent'}, "\n";
print "Your browser accepts gzip encoded data\n" if $gzip;
return OK;
When I access it (using Lynx) via localhost/cgi-perl/try.pl, the response I
get is:
The host in your URL is:
Your browser is:
Your browser accepts gzip encoded data
Can someone explain why the Host and User-Agent are missing?
Secondly, if I save it as cgi-perl/try.pl like this:
#! /usr/bin/perl -w
# file: try.pl
use strict;
use Apache::Const qw(:common);
sub handler {
my $r=shift;
# Grab all of the headers at once
my %headers_in=$r->headers_in;
# or get a specific header and do something with it
my $gzip=$r->headers_in->get('Accept-Encoding')=~m/gzip/;
$r->send_http_header('text/plain');
print "The host in your URL is: ", $headers_in{'Host'}, "\n";
print "Your browser is: ", $headers_in{'User-Agent'}, "\n";
print "Your browser accepts gzip encoded data\n" if $gzip;
return OK;
}
Then when I access it in lynx, I get a blank screen. Also, I am used to
doing something in httpd.conf when using these handlers. What do I have to
do in this second case to get a result?
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html