$_ = "#@##@###@####@#####@"; $_ = reverse; my @pieces = reverse (split /\@(?=(?:##)*(?!#))/); for (@pieces) { $_ = reverse; } print "@pieces\n";