demo.pm
来自「source of perl for linux application,」· PM 代码 · 共 51 行
PM
51 行
$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;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?