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