#!/usr/bin/perl -w @A=qw(a b c d); foreach $a (qw(a b c)) { $times{$a}{"c"}="c"; $times{$a}{"d"}="d"; } $times{"a"}{"a"}="a"; $times{"a"}{"b"}="b"; $times{"b"}{"a"}="b"; $times{"b"}{"b"}="a"; $times{"c"}{"a"}="c"; $times{"c"}{"b"}="d"; print "Input a guess: "; $_=; chomp; print "$_:\n"; ($times{"d"}{"a"},$times{"d"}{"b"},$times{"d"}{"c"},$times{"d"}{"d"})=split ''; foreach $a (@A) { foreach $b (@A) { foreach $c (@A) { $lhs=$times{$a}{$times{$b}{$c}}; $rhs=$times{$times{$a}{$b}}{$c}; if ($lhs ne $rhs) { print " FAILURE ON: $a $b $c\n"; } } } }