Io farei in questo modo:
codice:
$str =~ /.+From(.+)\n/gs;
my $out = $&;
Se non funziona, devi fare un loop:
codice:
$_ = $str;
while(/.+?From(.+)\n(.+)$/s) {
  $_ = $2
}
my $out = $1;
Per il significato di $& vedi il man di perlvar