use Email::Find; my $text = 'foo@bar.com, bar@foo.com, a@b.com, b@a.com, c@d.com'; my @emails = (); find_emails($text, sub { push @emails, $_[1] if @emails < 3 } ); print "@emails\n";