ch09.073_best

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

073_BEST
67
字号
################################################################################   Code fragment (Recommended) from Chapter 9 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 odd {     my ($n) = @_;    return $n % 2;}sub find_second_odd {    my $prev_odd_found = 0;     # Check through args...    for my $num (@_) {        # Find an odd number...        if (odd($num)) {            # Return it if it's not the first (must be the second)...            return $num if $prev_odd_found;             # Otherwise, remember it's been seen...            $prev_odd_found = 1;        }    }    # Otherwise, fail explicitly    return;}if (defined find_second_odd(2..6)) {    # find_second_odd() returns 5    # so if the block is executed, as expected    print "expected 1\n"}if (defined find_second_odd(2..1)) {    # find_second_odd() returns undef    # so if the block is skipped, as expected    print "unexpected 2\n"} if (defined find_second_odd(2..4)) {    # find_second_odd() returns undef    # so if the block is skipped, as expected    print "unexpected 3\n"} if (defined find_second_odd(2..3)) {    # find_second_odd() returns undef    # so if the block is skipped, as expected    print "unexpected 4\n"}

⌨️ 快捷键说明

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