use Data::Dumper; my @array = split /\|/, 'A|B||', -1; print Dumper(\@array); #### $VAR1 = [ 'A', 'B', '', '' ];