in reply to
Poker module question
sub ScoreHand { # returns the score of the passed in @hand or ShortHan
+d
my @hand = @_; return(7462) unless(@hand == 1 || @hand == 5); my $sh
+rt;
my $aflg = 0; $aflg = 1 if(ref($hand[0]) eq 'ARRAY'); my $aref;
if( $aflg ) { $aref = $hand[0]; }
else { $aref = \@hand; }
if(@{$aref} == 1) { $shrt = $aref->[0]; }
else { $shrt = ShortHand($aref); }
if( $slow ) { return(SlowScoreHand($shrt)); }
else { return( $zdnh{$shrt}); }
}
IMHO that would look better as:
sub ScoreHand { # returns the score of the passed in @hand or ShortHan
+d
return 7462 unless @_ == 1 || @_ == 5;
my @hand = @_;
my $aref = ref $hand[ 0 ] eq 'ARRAY'
? $hand[ 0 ]
: \@hand;
my $shrt = @$aref == 1
? $aref->[ 0 ]
: ShortHand( $aref );
return $slow
? SlowScoreHand( $shrt )
: $zdnh{ $shrt };
}