in reply to Combinations of an array of arrays...?

Just for kicks, here's what the solution looks like in the Haskell programming language:
combos n ls = filter ((>= n) . length) . map concat . sequence . map (([]:) . map return) $ ls
(This is analogous to the Perl solution provided by hv earlier.)

Examples:

> combos 1 ["abc", "def"] ["d","e","f","a","ad","ae","af","b","bd","be","bf","c","cd","ce","cf"]

Here's the (elided) answer to your example question:

> combos 4 ["abc", "de", "fgh", "i", "jk", "l", "m"] ["ijlm","iklm","fjlm","fklm","film","fijm", ... "cehijlm","cehik","cehikm","cehikl","cehiklm"]

Cheers,
Tom