~linux> perl -MMath::Cartesian::Product -e 'my %hash = (q|foo|=>[qw|fool food foot|],q|bar|=>[qw|barricade|]); for (keys %hash) {cartesian {print qq|@_\n|} [$_],$hash{$_}};' #### bar barricade foo fool foo food foo foot