while ($html =~ s/([-.\w]+@[-.\w])//){
push(@list, $1);
}

$html を後々使うなら

my $html_bak = $html;
みたいにバックアップを。