동료를위한 Repost from Perlmonks :Perl의 분할 명령을 공백을 제거하는 것과 어떻게 조합 할 수 있습니까?
세미 콜론으로 구분 된 긴 이메일 목록을 구분하는 펄 스크립트를 작성했습니다. 이 코드로 수행하고자하는 작업은 두 개의 배열이 필요 없도록 분할을 공백 트리밍과 결합하는 것입니다. 첫 번째 배열을로드하는 동안 트리밍 할 수 있습니까? 출력은 정렬 된 이름 목록입니다. 감사합니다. .
#!/pw/prod/svr4/bin/perl
use warnings;
use strict;
my $file_data =
'Builder, Bob ;Stein, Franklin MSW; Boop, Elizabeth PHD Cc: Bear,
+ Izzy';
my @email_list;
$file_data =~ s/CC:/;/ig;
$file_data =~ s/PHD//ig;
$file_data =~ s/MSW//ig;
my @tmp_data = split(/;/, $file_data);
foreach my $entry (@tmp_data) {
$entry =~ s/^[ \t]+|[ \t]+$//g;
push(@email_list, $entry);
}
foreach my $name (sort(@email_list)) {
print "$name \n";
}
시도해 보셨습니까? split/\ s *; \ s */$ file_data –
unpack()을 사용할 수도 있지만 지금 당장은 시도 할 수 없으며 풀어서는 안됩니다(). 그것없이 당신에게 해결책을 제공합니다. – Makis