18 lines
468 B
Perl
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';
|
|
}
|