./perl/test/ObjectMethodsTest.pl
download original
#!/usr/bin/perl -w
package C;
sub new {
my $class = shift;
my $objname = shift;
bless { name=>$objname }, $class;
}
sub cmethod {
print "cmethod called\n";
}
package main;
use ObjectMethods qw(addMethods);
my $obj = C->new("myobj");
$obj->cmethod;
print "obj is a: ",ref $obj, "\n";
addMethods($obj,
objmeth1 => sub { print "objmeth1 called\n"; });
$obj->objmeth1;
print "obj is a: ",ref $obj, "\n";
addMethods($obj,
objmeth2 => sub($$) {
my $obj = shift;
print "objmeth2 called on ",$obj->{name}, " with ",shift,"\n";
});
$obj->objmeth1;
$obj->objmeth2(42);
print "obj is a: ",ref $obj, "\n";
print $obj->isa('C'),"\n";
back to test
(C) 1998-2017 Olaf Klischat <olaf.klischat@gmail.com>