in reply to Empty strings after split /(\W)/

split does that when you put a capture group in the split expression.

$ perl -le 'print join "|", split /(\W)/, "Hello, World! ?";' Hello|,|| |World|!|| ||? $ perl -le 'print join "|", split /\W/, "Hello, World! ?";' Hello||World