Date: 2010feb11
Language: perl
Q. How do I get a hash of the perl CGI variables?
A. Here's how you do that and some other handy perl CGI functions.
# Returns has hash of the CGI variables
sub getHash($)
{
my($q) = @_;
return $q->Vars;
}
sub exampleUse()
{
my($q, %h, $thing);
$q = new CGI;
%h = getHash($q);
$thing = $h{thing};
}
#---------------------------------------------
sub getNames($)
{
my($q) = @_;
return $q->param;
}
sub exampleUse()
{
my($q, $i);
$q = new CGI;
for $i (getNames($q))
{
print "$i\n";
}
}
#---------------------------------------------
sub isSSL($)
{
my($q) = @_;
my($url);
return $q->url() =~ m/^https:/i;
}
sub exampleUse()
{
my($q);
$q = new CGI;
if (!isSSL($q))
{
print "Not secure\n";
return;
}
}
#---------------------------------------------
sub ensureSSL($)
{
my($q) = @_;
if (!isSSL($q))
{
my($url);
$url = $q->url();
$url =~ s/http:/https:/;
print qq(<meta http-equiv="refresh" content="0; url=$url">);
return 0;
}
return 1;
}
sub exampleUse()
{
my($q);
$q = new CGI;
return if !ensureSSL($q);
}
#---------------------------------------------
# Does the same as CGI::query_string() but with &'s
sub getQueryString($)
{
my($q) = @_;
my($i, $qs);
for $i (getNames($q))
{
if ($qs) { $qs .= '&'; }
$qs .= $i . '=' . $q->param($i);
}
return $qs;
}
| What this info useful to you? You can donate to say thanks |
Add a comment
Sign in to add a comment