ch17.009_best

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

009_BEST
54
字号
################################################################################   Code fragment (Recommended) from Chapter 17 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;sub _Class::cannot {    # What kind of coercion cannot be done?    my ($coerce) = @_;     # Build a subroutine with the corresponding error message...    return sub {        my ($self) = @_;        croak sprintf qq{Can't $coerce}, ref $self;    };} # and later... package Process::Queue;{    use overload (        # Type coercions don't make sense for process queues...        q{""}   => _Class::cannot('stringify a %s'),        q{0+}   => _Class::cannot('numerify a %s'),        q{bool} => _Class::cannot('get the boolean value of a %s'),    );} # and later still... package Socket;{    use overload (        # Type coercions don't make sense for sockets...        q{""}   => _Class::cannot('stringify a %s'),        q{0+}   => _Class::cannot('numerify a %s'),        q{bool} => _Class::cannot('get the boolean value of a %s'),    );}

⌨️ 快捷键说明

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