home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2005 June
/
PCWorld_2005-06_cd.bin
/
software
/
vyzkuste
/
firewally
/
firewally.exe
/
framework-2.3.exe
/
Demo.pm
< prev
next >
Wrap
Text File
|
2003-11-07
|
1KB
|
51 lines
$DB::single = 1;
package Demo;
$VERSION = '1.00';
use Attribute::Handlers;
no warnings 'redefine';
sub Demo : ATTR(SCALAR) {
my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
$data = '<undef>' unless defined $data;
print STDERR 'Scalar $', *{$symbol}{NAME},
" ($referent) was ascribed ${attr}\n",
"with data ($data)\nin phase $phase\n";
};
sub This : ATTR(SCALAR) {
print STDERR "This at ",
join(":", map { defined() ? $_ : "" } caller(1)),
"\n";
}
sub Demo : ATTR(HASH) {
my ($package, $symbol, $referent, $attr, $data) = @_;
$data = '<undef>' unless defined $data;
print STDERR 'Hash %', *{$symbol}{NAME},
" ($referent) was ascribed ${attr} with data ($data)\n";
};
sub Demo : ATTR(CODE) {
my ($package, $symbol, $referent, $attr, $data) = @_;
$data = '<undef>' unless defined $data;
print STDERR 'Sub &', *{$symbol}{NAME},
" ($referent) was ascribed ${attr} with data ($data)\n";
};
sub Multi : ATTR {
my ($package, $symbol, $referent, $attr, $data) = @_;
$data = '<undef>' unless defined $data;
print STDERR ref($referent), ' ', *{$symbol}{NAME},
" ($referent) was ascribed ${attr} with data ($data)\n";
};
sub ExplMulti : ATTR(ANY) {
my ($package, $symbol, $referent, $attr, $data) = @_;
$data = '<undef>' unless defined $data;
print STDERR ref($referent), ' ', *{$symbol}{NAME},
" ($referent) was ascribed ${attr} with data ($data)\n";
};
1;