メールアドレスを引き抜く
投稿:2018-02-01
このツイートを見て。
ということでこんな感じ。
おそらく要望者の意図と違うので使えない(大笑い)。
#!/usr/bin/env perl
use utf8;
use warnings;
use strict;
use open IO => ":utf8";
use Encode::Locale;
binmode STDOUT, ":encoding(console_out)";
$| = 1;
my %pull_out = map {($_->{name}, 1)} load_list();
for (grep {!exists $pull_out{$_->{name}}} load_list()) {
print "$_->{mail}\n";
}
exit;
sub load_list {
my @mail;
while (<>) {
chomp;
my ($name) = /^([^@]+)/;
push @mail, {
name => $name,
mail => $_,
};
last if eof;
}
return @mail;
}
スクリプトに続いて引き抜くリストのファイルとメールアドレス一覧のファイルを並べると、残りのメールアドレスが出てきます。
文字コードはUTF-8(BOMなし)改行はLFだけです。
perl sample_13.pl sample_13_2.txt sample_13_1.txt
Windows(ActivePerl)とLinux(CentOS)ともにPerlのバージョンは5.24です。
sample_13_1.txt
sample_13_1.txt
aaa@aaa.com,あああ,いいい bbb@bbb.com,ううう,えええ ccc@ccc.com,おおお,かかか ddd@ddd.com,hhh,rrrsample_13_2.txt
bbb@bbb.com,ききき,くくく ccc@ccc.com,けけけ,こここ出てくるものは
aaa@aaa.com,あああ,いいい ddd@ddd.com,hhh,rrrよしバッチリ♪
