Pazartesi, Nisan 04, 2005

Sözlüğe toplu kelime eklemek

Gerekti ki bir siteden elde ettiğim şirket adlarını sözlüğün MANUFACTURERS AND SUPPLIERS kökünün yaprakları olarak eklenmeli. Daha önceki yazıda sözlüğümüzü büyük küçük harf ayrımını dikkate alarak yapmamız gerektiğini belirtmiştim. Bu nedenle her kelimeyi ve arama yapacağım metni büyük harfe çevirmeyi uygun gördüm. Her ne kadar insan için bu anlaşılırlığı azaltacaksa da amacımız makinalara anlatmak. Bu nedenle ilk olarak Perl dilinde şu programcığı kullandım:
#!/usr/bin/perl
open(IN, $ARGV[0]) die "Couldn't open the file!";
open(OUT, ">".$ARGV[1]);
while (){
tr/a-z/A-Z/;
s/\&/AND/;
print OUT;
}
close (IN);
close (OUT);

Daha sonra aşağıdaki programı kullanarak bir dosyada satır satır yazılı şirket adlarını sözlüğe yerleştirecek PL/SQL komutcuk dizisini oluşturdum.

#!/usr/bin/perl -w

open(IN,$ARGV[0]) die("Cannot open the input file!");
open(OUT, ">".$ARGV[1]) die("Cannot open the output file!");
print OUT "begin\n";
while (defined($line=)){
chomp($line);
print OUT "ctx_thes.create_relation('nstc','MANUFACTURERS AND SUPPLIERS','NTI','".$line."');\n" ;
}

print OUT "end;\n/\n";

Sonrada PL/SQL de bu dosyayı yürüttüm. E direk PL/SQL'de de yazabilirdim ama amaç biraz Perl tecrübesi. Larry Wall tarafından tasarlanan Perl'ün, web üstündeki içeriğin %85'inin arkasındaki CGI programlama(script) dili olduğu tahmin ediliyormuş. [Bkz.]

Hiç yorum yok: