plus された行 と minus された行と同じ file 内の重複行を調べる
#!/usr/bin/perl use strict; use warnings; if(scalar(@ARGV) != 2){ warn('usage: ' . $0 . ' TEXT1 TEXT2' . "\n"); exit(); } my $file = shift(@ARGV); my $minus_file = shift(@ARGV); open(FH ,$file) || die("Can't open file: $!"); my $csv; chop(@$csv = <FH>); close(FH); open(FH ,$minus_file) || die("Can't open file: $!"); my $minus_csv; chop(@$minus_csv = <FH>); close(FH); my $hash; for(@$csv){ if(exists($hash->{$_})){ print('<' . $_ . "\n"); } else{ $hash->{$_} = 1; } } my $minus_hash; for(@$minus_csv){ if(exists($minus_hash->{$_})){ print('>' . $_ . "\n"); } else{ $minus_hash->{$_} = 1; } } for(sort(keys(%$hash))){ if(exists($minus_hash->{$_})){ delete($minus_hash->{$_}); next(); } print('+' . $_ . "\n"); } for(sort(keys(%$minus_hash))){ print('-' . $_ . "\n"); }
Oracle の minus を image してたからなんだけど、今考えると何故 minus を作ったんだろう?
一歩前進して plus を作ればよかったかも。
その方が使った場合は直感的だったな〜。
mimic28号でした。