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.
Postpone until later
Each and every
Results (256 votes),