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