RosettaCodeData/Task/ABC-problem/Perl/abc-problem-3.pl

18 lines
468 B
Perl

#!/usr/bin/perl
use strict; # https://rosettacode.org/wiki/ABC_Problem
use warnings;
printf "%30s %s\n", $_, can_make_word( $_,
'BO XK DQ CP NA GT RE TG QD FS JW HU VI AN OB ER FS LY PC ZM' )
for qw( A BARK BOOK TREAT COMMON SQUAD CONFUSE );
sub can_make_word
{
my ($word, $blocks) = @_;
my $letter = chop $word or return 'True';
can_make_word( $word, $` . $' ) eq 'True' and return 'True'
while $blocks =~ /\w?$letter\w?/gi;
return 'False';
}