use strict; my $string; read(DATA,$string,7); print "$string\n"; my $pattern = "AB"; print "pattern is $pattern\n"; my ($start,$middle,$end) = $string =~ /^(.*?)($pattern+)(.*?)$/g; print "splitting\n"; print "start = $start\n"; #gets B print "middle = $middle\n"; #gets AB print "end = $end\n"; #gets ABBB __DATA__ BABABBB