Foreach doesn't require an actual array to work from; it's perfectly content to work on the list returned from split:
foreach my $entry ( split( /;/, $file_data ) ) { do { s/^\s+//; s/\s+$//; } for $entry; push @email_list, $entry; }
Of course you can use map and get everything in one statement.
print join( "\n", sort map { (my $t=$_)=~s/^\s+//;$t=~s/\s+$//;$t } sp +lit( /;/, $file_data ) ), "\n";
Update: Of course if you need the list later you can certainly store the return from the sort into a variable and print that instead.
my @email_list = sort map ... split( /;/, $file_data ); print join( "\n", @email_list ), "\n";
The cake is a lie.
The cake is a lie.
The cake is a lie.
In reply to Re: How do I combine SPLIT with trimming white space
by Fletch
in thread How do I combine SPLIT with trimming white space
by Grey Fox
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |