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 + -
显示快捷键?