in reply to Mystery interaction between split and gobbling arrays

I was in your same pitfall some years ago, then i learned to double check the the docs if something looks strange:
If LIMIT is omitted (or, equivalently, zero), then it is usually treat +ed as if it were instead negative but with the exception that trailin +g empty fields are stripped (empty leading fields are always preserve +d);
The output you want can be obtained with a -1 LIMIT:
perl -MData::Dumper -e "$str='foo:bar:'; ($x,@opt)=split /:/,$str,-1;p +rint Dumper ($x,\@opt)" $VAR1 = 'foo'; $VAR2 = [ 'bar', '' ];

HtH
L*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.