in reply to getting my neighbours in an N-dimensional space
sub neighbours { my $str = join ":", map {"{".($_-1).",$_,".($_+1)."}"}@_; my $not_wanted = join ":", @_; grep {$not_wanted ne $_} glob($str); } print map "$_\n", neighbours(2,3,4); [download]