my $s = "foo. bar. foobar. foo bar."; my $p = get_nsentences($s,2); # $p = "foo. bar."; print $p; print "done\n"; ## SUBS # get n first sentences from a given string. sub get_nsentences { my $source_txt = $_[0]; my $ret_txt = ""; # i know this looks twisted... for($i=$_[1]||1;$i>0 && length($source_txt);$i--) { $source_txt =~ s/([^\.]+\.)/(($ret_txt.=$1)&&"")/e; } return $ret_txt; }