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