📄 ch15.061_prob
字号:
################################################################################ Code fragment (NOT RECOMMENDED) from Chapter 15 of "Perl Best Practices" #### Copyright (c) O'Reilly & Associates, 2005. All Rights Reserved. #### See: http://www.oreilly.com/pub/a/oreilly/ask_tim/2001/codepolicy.html ################################################################################# Standard modules...no strict;use warnings;use IO::Prompt;use Carp;use English qw( -no_match_vars );use Data::Alias;use Readonly;package Dogtag;use Class::Std::Utils;{ # Attributes... my %name_of; my %rank_of; my %serial_num_of; # The usual inside-out constructor... sub new { my ($class, $arg_ref) = @_; my $new_object = bless anon_scalar(), $class; # Now allocating serial numbers polymorphically... $serial_num_of{ident $new_object} = $class->_allocate_serial_num(); return $new_object; } # Override this method in any derived class that needs a # different serial number allocation mechanism... sub _allocate_serial_num { return new Unique::ID; }}use Data::Dumper 'Dumper';warn Dumper [ Dogtag->new() ];package Unique::ID;sub new { return 1 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -