#!/usr/bin/perl -w
use strict;
use warnings;
sub fifteens
{
my $card = shift;
$card =~ tr/SCHD//;
$card =~ s/[JQK]/10/g;
$card =~ s/A/1/g;
my ($i,$o,$p,$k,$l);
my ( @cards) = split /,/, $card;
$_ = 0;
# count the 2 card combinations that add up to 15
for ($i = 0; $i<=$#cards;$i++){
for ($o = $i+1; $o<=$#cards;$o++){
$_ += 2 if (( $cards[$i] + $cards[$o])== 15 );
for ($p=$o+1; $p<=$#cards;$p++){
$_ += 2 if ($cards[$i] + $cards[$o]+ $cards[$p]==15);
for ($k=$p+1;$k<=$#cards;$k++){
$_ += 2 if ($cards[$i] + $cards[$o]+ $cards[$p] +
+$cards[$k] ==15);
$_ += 2 if ($cards[$i] + $cards[$o]+ $cards[$p] +
+$cards[$k] + $cards[4] ==15);
}
}
}
}
# count the 3 card combinations that add up to 15
$_;
} ## end sub fifteens
print "hand = A,2,3,4,5 \tTotal =", fifteens ( "A,2,3,4,5"), "\n";
print "hand = 5,5,5,J,5 \tTotal =", fifteens ( "5,5,5,J,5"), "\n";
print "hand = 6,7,8,9,5 \tTotal =", fifteens ( "6,7,8,9,5"), "\n";