メールアドレスを引き抜く
投稿: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よしバッチリ♪