📄 demo.pm
字号:
$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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -