http://www.perlmonks.org?node_id=1003187


in reply to [SOLVED] Does split not work with a pipe?

The first parameter of split is a regex pattern, not a string. Now the regex, lets spell it m/|/, matches the empty string. If you read the perldoc of split, you will find the following sentence:

A pattern matching the empty string (not to be confused with an empty pattern "//", which is just one member of the set of patterns matching the epmty string), splits EXPR into individual characters.

PS: Please use strict; use warnings;.