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 #### $VAR1 = [ '', 'foo@foo.com', 'bar@bar.com', 'foo@foobar.com', 'bar@foo.com', 'bar@foobar.com' ];