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.
Alternative e.g. Carob
Results (117 votes),