#!/usr/bin/perl -w -s
use POSIX qw(locale_h);
setlocale(&POSIX::LC_ALL, "pt_PT") or warn("erro $!");
use locale;
my $tmp = ".$$.tmp";
our($debug);
open(A,"|jspell -d port -e > $tmp-1");
open(B,"|jspell -d port -e > $tmp-2");
while(<>){
if(/(.*?)\/(.*?)\/(.*)/){
my @lista = split(/,/,$3);
$temp = shift @lista;
$temp =~ s/^\s+|\s+$//;
print A "$1/$2\n";
print B "$temp/$2\n";
}
}
close(A);
close(B);
#aqui acabava o z
open(A,"$tmp-1"); open(B,">$tmp-11");
while(){
s/ /\n/;
s/=.*?\)/\n/g;
s/, //g;
print B $_
}
close A; close B;
open(A,"$tmp-2"); open(B,">$tmp-22");
while(){
s/ /\n/;
s/=.*?\)/\n/g;
s/, //g;
print B $_
}
close A; close B;
unlink "$tmp-1", "$tmp-2" unless $debug;
#aqui acabava o z2
open(A,"$tmp-22"); open(B,">$tmp-222");
while(){
s/,.*$//g;
print B $_;
}
#aqui acabava o z3
qx{paste $tmp-11 $tmp-222 | sort -u | sed -e 's/\\s\\+/;/g' > $tmp-3};
# retirar palavras iguais
open(C,"$tmp-3");
open(D,">hash");
while(){
/^(.*);(.*)$/;
print D unless $1 eq $2;
}
unlink "$tmp-11", "$tmp-22", "$tmp-222", "$tmp-3" unless $debug;