use strict; use warnings; { my $var1 = "####@#####@##@###@######@###"; print "START '$var1'\n"; my @foo = split /(?<=[^#]((##)+))[@]/, $var1; foreach (@foo) { print "HERE: '$_'\n"; } }