use Data::Dumper; use strict; my $str = 'AAA~BB~CCCCC~DDD~'; my @a = split /(?<=~)/, $str; print Dumper(\@a);