my $str = ''; my $data; my $re = qr/--\s*USER\s+\d+\s*-\s*(\w+)/; my ($start, $end); sub by_re_noback { ($data) = ($str =~ / ^ (?>\s*) (?>\s*) $ /ix); } sub by_re { ($data) = ($line =~ m/