Hi,
If you want to chain multiple s/// statements, then you can use a comma and get rid of the ugly do and the curlys.
foreach my $entry ( split( /;/, $file_data ) ) {
s/^\s+//, s/\s+$// for $entry;
push @email_list, $entry;
}
print join( "\n", sort(@email_list)), "\n";
If you are a
Perl::Critic follower then you are not allowed to use the for statement modifier
Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls.
However consider this using
List::MoreUtils apply function.
use List::MoreUtils qw(apply);
foreach my $entry ( split( /;/, $file_data ) ) {
push @email_list, apply { s/^\s+//; s/\s+$// } $entry;
}
print join( "\n", sort(@email_list)), "\n";
print+qq(\L@{[ref\&@]}@{['@'x7^'!#2/"!4']});