#!/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 portAO -e > $tmp-2"); while(<>){ if(/(.*?)\/(.*?)\/(.*)/){ print A "$1/$2\n"; print B "$3/$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 $_; } qx{paste $tmp-11 $tmp-222 | sort -u | sed -e 's/\\s\\+/;/g' > hash}; unlink "$tmp-11", "$tmp-22", "$tmp-222" unless $debug;