qwurx [shmem] ~ > perl -le 'use CGI::Ajax; print "$_ => $INC{$_}" for sort keys %INC'
CGI/Ajax.pm => /usr/lib/perl5/site_perl/5.8.8/CGI/Ajax.pm
Carp.pm => /usr/lib/perl5/5.8.8/Carp.pm
Class/Accessor.pm => /usr/lib/perl5/site_perl/5.8.8/Class/Accessor.pm
Data/Dumper.pm => /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Data/Dumper.pm
Exporter.pm => /usr/lib/perl5/5.8.8/Exporter.pm
XSLoader.pm => /usr/lib/perl5/5.8.8/i386-linux-thread-multi/XSLoader.pm
base.pm => /usr/lib/perl5/5.8.8/base.pm
bytes.pm => /usr/lib/perl5/5.8.8/bytes.pm
overload.pm => /usr/lib/perl5/5.8.8/overload.pm
strict.pm => /usr/lib/perl5/5.8.8/strict.pm
vars.pm => /usr/lib/perl5/5.8.8/vars.pm
warnings.pm => /usr/lib/perl5/5.8.8/warnings.pm
warnings/register.pm => /usr/lib/perl5/5.8.8/warnings/register.pm
####
qwurx [shmem] ~ > perl -le 'use Data::Dumper; print "$_ => $INC{$_}" for sort keys %INC'
Carp.pm => /usr/lib/perl5/5.8.8/Carp.pm
Data/Dumper.pm => /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Data/Dumper.pm
Exporter.pm => /usr/lib/perl5/5.8.8/Exporter.pm
XSLoader.pm => /usr/lib/perl5/5.8.8/i386-linux-thread-multi/XSLoader.pm
bytes.pm => /usr/lib/perl5/5.8.8/bytes.pm
overload.pm => /usr/lib/perl5/5.8.8/overload.pm
warnings.pm => /usr/lib/perl5/5.8.8/warnings.pm
warnings/register.pm => /usr/lib/perl5/5.8.8/warnings/register.pm
##
##
qwurx [shmem] ~ > perl -le 'use vars qw($foo); print "$_ => $INC{$_}" for sort keys %INC'
Carp.pm => /usr/lib/perl5/5.8.8/Carp.pm
Exporter.pm => /usr/lib/perl5/5.8.8/Exporter.pm
strict.pm => /usr/lib/perl5/5.8.8/strict.pm
vars.pm => /usr/lib/perl5/5.8.8/vars.pm
warnings.pm => /usr/lib/perl5/5.8.8/warnings.pm
warnings/register.pm => /usr/lib/perl5/5.8.8/warnings/register.pm
##
##
--- /usr/lib/perl5/site_perl/5.8.8/CGI/Ajax.pm 2007-02-01 00:35:44.000000000 +0100
+++ CGI/Ajax.pm 2007-09-16 16:18:47.000000000 +0200
@@ -1,17 +1,32 @@
package CGI::Ajax;
-use strict;
-use Data::Dumper;
-use base qw(Class::Accessor);
-use overload '""' => 'show_javascript'; # for building web pages, so
- # you can just say: print $pjx
BEGIN {
- use vars qw ($VERSION @ISA @METHODS);
+ our ($VERSION, @ISA, @METHODS);
@METHODS = qw(url_list coderef_list DEBUG JSDEBUG html
js_encode_function cgi_header_extra);
- CGI::Ajax->mk_accessors(@METHODS);
-
+ for my $field (@METHODS) {
+ *{'CGI::Ajax::'.$field} = sub {
+ my $self = shift @_;
+ if (@_) {
+ return $self->set($field, @_);
+ } else {
+ return $self->get($field);
+ }
+ };
+ };
+ for (qw(set get)) {
+ *{'CGI::Ajax::'.$_} = sub {
+ my $self = shift @_;
+ if (@_ == 1) {
+ return $$self{$_[0]};
+ } elsif (@_ > 1) {
+ return $self->{$_[0]} = $_[1];
+ } else {
+ $self->_croak('Wrong number of arguments received');
+ }
+ };
+ }
$VERSION = .701;
}
##
##
qwurx [shmem] ~ > perl -I. -le 'use CGI::Ajax(); print "$_ => $INC{$_}" for sort keys %INC'
CGI/Ajax.pm => CGI/Ajax.pm
##
##
qwurx [shmem] ~ > perl -le 'use overload "+" => \&add; print "$_ => $INC{$_}" for sort keys %INC'
Carp.pm => /usr/lib/perl5/5.8.8/Carp.pm
Exporter.pm => /usr/lib/perl5/5.8.8/Exporter.pm
overload.pm => /usr/lib/perl5/5.8.8/overload.pm
warnings.pm => /usr/lib/perl5/5.8.8/warnings.pm
warnings/register.pm => /usr/lib/perl5/5.8.8/warnings/register.pm