in reply to Split and join - semicolons around empty fields are lost
That's how split is documented. I really recommend that you use Text::CSV_XS, or at least pass in the number of expected columns to split.
Conway's Game of Life
Perl regular expressions
My Magic 8-Ball™
Results (180 votes). Check out past polls.