ch15.056_best

来自「Perl Best Practices the source code」· 056_BEST 代码 · 共 51 行

056_BEST
51
字号
################################################################################   Code fragment (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...use strict;use warnings;use IO::Prompt;use Carp;use English qw( -no_match_vars );use Data::Alias;use Readonly;my %rank_of;sub set_rank {    my ($self, $new_rank) = @_;     # New rank now checked first...    $rank_of{ident $self} = _check_rank($new_rank);         return;}# Create look-up table of known ranks...Readonly my @KNOWN_RANKS => (#   Enlisted...           Commissioned...    'Private',             'Lieutenant',    'PFC',                'Captain',    'Corporal',           'Colonel',    'Sergeant',           'General',    # etc.                etc.);Readonly my %IS_KNOWN_RANK => map { $_ => 1 } @KNOWN_RANKS; # Utility subroutine to vet new "rank" values....sub _check_rank {    my ($rank) = @_;     return $rank if $IS_KNOWN_RANK{$rank};     croak "Can't set unknown rank ('$rank')";}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?