[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Yet another jbovla lookup script, from a lojban newbie



coi rodo

.i mi finti lo samselpla goi ko'a .i ko'a facki le datni le jbovla
.i la perl bangu ko'a .i ko'a jorne le mi mrilu

.i .u'u le mi gerna na'e drani .i mi se cnino la lojban

ki'e

-- 
Jordan DeLong
fracture@allusion.net

#!/usr/bin/env perl -w
#
# ko facki fi le jbovla
#

# le kadje xamgu mi
use strict;

# ko cpacu le sumti
use vars qw($opt_g $opt_a $opt_c $opt_C $opt_l $opt_L);
use Getopt::Std;
getopts("gcClLa");
if ($#ARGV != 0 ||
(($opt_a && ($opt_c || $opt_l || $opt_L || $opt_C)) ||
($opt_C && ($opt_c || $opt_l || $opt_L)) ||
($opt_L && ($opt_l || $opt_c || $opt_C)))) {
print "plino: viska [-g] [-a | [-lc | -C | -L]] valsi\n";
exit 1;
}
if ($opt_a) {
$opt_c = 1;
$opt_l = 1;
}
my $valsi="$ARGV[0]";

# caku ko troci fi le gismu
if (!$opt_C && !$opt_L) {
open GISMU, "< /home/fracture/misc/lojban/gismu.txt"
or die "open";
while (<GISMU>) {
if ($opt_g) {
# le glico
my $str = substr($_, 19);
print if $str =~ /^$valsi/;
} else {
# la lojban
print if /^$valsi/;
}
}
close GISMU;
}

# caku ko troci fi le cmavo
if (($opt_c || $opt_C) && !$opt_L) {
open CMAVO, "< /home/fracture/misc/lojban/cmavo.txt"
or die "open";
while (<CMAVO>) {
if ($opt_g) {
# le glico
my $str = substr($_, 20);
print if $str =~ /^$valsi/;
} else {
# la lojban
print if /^.?$valsi/;
}
}
close CMAVO;
}

# ko ca troci fi le lujvo
if ($opt_l || $opt_L) {
open LUJVO, "< /home/fracture/misc/lojban/lujvo.txt"
or die "open";
while (<LUJVO>) {
if ($opt_g) {
# le glico
if (/^(.*): (.*)/) {
print if $2 =~ /$valsi/;
}
} else {
# la lojban
print if /^$valsi/;
}
}
close LUJVO;
}

exit 0;

Attachment: pgp9Ylitn2wX7.pgp
Description: PGP signature