my $string = '...blah...baz...blah...'; my ( $foo, $bar, $baz ); if ( $string =~ s{([^<]+)}{} ) { ( $foo, $bar, $baz ) = ( $1, $2, $3 ); print "extracted $foo, $bar, $baz; left $string\n"; }