Apache2-ASP

 view release on metacpan or  search on metacpan

lib/Apache2/ASP/Server.pm  view on Meta::CPAN


package Apache2::ASP::Server;

use strict;
use warnings 'all';
use Mail::Sendmail;
use encoding 'utf8';


#==============================================================================
sub new
{
  my ($class, %args) = @_;

  my $s = bless {LastError => undef}, $class;
  
  return $s;

lib/Apache2/ASP/Server.pm  view on Meta::CPAN

}# end URLEncode()


#==============================================================================
sub URLDecode
{
  my ($s, $todecode) = @_;
  return unless defined($todecode);
  $todecode =~ tr/+/ /;       # pluses become spaces
  $todecode =~ s/%(?:([0-9a-fA-F]{2})|u([0-9a-fA-F]{4}))/
  defined($1)? chr hex($1) : _utf8_chr(hex($2))/ge;
  return $todecode;
}# end URLDecode()


#==============================================================================
sub HTMLEncode
{
  my ($s, $str) = @_;
  no warnings 'uninitialized';
  $str =~ s/&/&/g;

lib/Apache2/ASP/Server.pm  view on Meta::CPAN

sub RegisterCleanup
{
  my ($s, $sub, @args) = @_;
  
  # This works both in "testing" mode and within a live mod_perl environment.
  $s->context->get_prop('r')->pool->cleanup_register( $sub, \@args );
}# end RegisterCleanup()


#==============================================================================
sub _utf8_chr
{
  my ($c) = @_;
  require utf8;
  my $u = chr($c);
  utf8::encode($u); # drop utf8 flag
  return $u;
}# end _utf8_chr()


#==============================================================================
sub DESTROY
{
  my $s = shift;
  
  undef(%$s);
}# end DESTROY()

lib/Apache2/ASP/SimpleCGI.pm  view on Meta::CPAN

}# end escape()


#==============================================================================
sub unescape
{
  my ($s, $todecode) = @_;
  return unless defined($todecode);
  $todecode =~ tr/+/ /;       # pluses become spaces
  $todecode =~ s/%(?:([0-9a-fA-F]{2})|u([0-9a-fA-F]{4}))/
  defined($1)? chr hex($1) : utf8_chr(hex($2))/ge;
  return $todecode;
}# end unescape()


#==============================================================================
sub DESTROY
{
  my $s = shift;
  
  map { close($s->{uploads}->{$_}->{filehandle}) }



( run in 1.278 second using v1.01-cache-2.11-cpan-49f99fa48dc )