while ( ) { push @addrs, split /(?:\s+,?\s*|,\s*)/, $_; } print Dumper \@addrs; __DATA__ foo@foo.com bar@bar.com, foo@foobar.com bar@foo.com , bar@foobar.com