12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package MyCGI;
- use strict;
- use CGI;
- sub getParam {
- my $cgi;
- if ($ARGV[0]) {
- $cgi = new CGI($ARGV[0]);
- } else {
- $cgi = new CGI;
- }
- my @param_names = $cgi->param();
- my %param = ();
- foreach (@param_names) {
- $param{$_} = $cgi->param($_);
- }
- return \%param;
- }
- sub getCookie {
- my $name = shift;
- my $cookie_value = &CGI::cookie($name);
- return &_parse($cookie_value);
- }
- sub outputHtml {
- my ($charset, $html) = @_;
- print &CGI::header(-charset => $charset);
- print $html;
- }
- sub outputXml {
- my ($charset, $xml) = @_;
- print &CGI::header( -type => 'text/xml', -charset => $charset );
- print $xml;
- }
- sub makeCookieValue {
- my $param = shift;
- my @data = ();
- foreach(keys %$param) {
- push(@data, $_ . "=" . $param->{$_});
- }
- return join("&", @data);
- }
- sub setCookie {
- my $param = shift;
- my $cookie = &CGI::cookie(
- -name => $param->{name} || return,
- -value => $param->{value},
- -domain => $param->{domain},
- -path => $param->{path},
- -expires => $param->{expires},
- );
- return &CGI::header(-cookie => $cookie);
- }
- sub redirect {
- my $dest = shift;
- &CGI::redirect($dest);
- }
- sub urlEncode {
- my $str = shift;
- $str =~ s/([^\w ])/'%'.unpack('H2', $1)/eg;
- $str =~ tr/ /+/;
- return $str;
- }
- sub urlDecode {
- my $str = shift;
- $str =~ tr/+/ /;
- $str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
- return $str;
- }
- sub _parse {
- my $value = shift;
- my @pair = split(/&/, $value);
- my %data = ();
- foreach(@pair) {
- my ($name, $value) = split(/=/, $_);
- $data{$name} = $value;
- }
- return \%data;
- }
- 1;
|