#!/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(<A>){
	s/ /\n/;
	s/=.*?\)/\n/g;
	s/, //g;
	print B $_
}
close A; close B;

open(A,"$tmp-2"); open(B,">$tmp-22");
while(<A>){
	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(<A>){
	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(<C>){
	/^(.*);(.*)$/;
	print D unless $1 eq $2;
	}



unlink "$tmp-11", "$tmp-22", "$tmp-222", "$tmp-3" unless $debug;
