N
nicolas-laurent
New to programming, I don't see what wrong with this code. The script
run on /fr/rules/sens1 but not on en/rules/sens1. I suspect something
wrong with
readParams(\$lang);
# ---------------MAIN
BEGIN-------------------------------------------------
my $lang;
readParams(\$lang);
#\$silent, \@rulesFiles, \$base);
printc "lang = ", 'black', ''; printc "$lang", 'green';
my $WORD = "[[:alpha:]'-]";
my @RULES_FILES;
my $exceptFile = "$lang/config/exceptions.txt";
buildRulesSens(1, $exceptFile, $lang);
#buildRulesSens(2, $configFile, $lang);
# -------------------------------------------------------------------
sub buildRulesSens {
my ($sens, $exceptFile, $lang) = @_;
@RULES_FILES = ();
my $rulesPath = "$lang/rules/sens$sens";
find \&lsRuleFiles, "$rulesPath";
my $out = "$lang/rules_sens$sens.txt";
my $conf = readConfFile($exceptFile);
open (OUT, ">$out") or error("Cant open '$out'");
foreach my $ruleF (@RULES_FILES) {
printc "Processing rules file: $ruleF\n";
print OUT "#<FILE>$ruleF<BODY>\n";
my $newRules = buildRules($ruleF, $conf);
foreach my $r (@$newRules) {
print OUT "$r\n";
}
#trc('_rules', $_rules); die;
}
close OUT;
}
# -------------------------------------------------------------------
CODE
sub readParams {
my ($lang) = @_;
my ($help, $version);
GetOptions(
"--lang:s" => $lang,
"v" => \$version, "version" => \$version,
"h" => \$help, "help" => \$help);
error("--lang parameter missing") unless $$lang;
if ($$lang !~ /(fr|en)/) {
error("Invalid value for parameter lang=$$lang");
}
}
run on /fr/rules/sens1 but not on en/rules/sens1. I suspect something
wrong with
readParams(\$lang);
# ---------------MAIN
BEGIN-------------------------------------------------
my $lang;
readParams(\$lang);
#\$silent, \@rulesFiles, \$base);
printc "lang = ", 'black', ''; printc "$lang", 'green';
my $WORD = "[[:alpha:]'-]";
my @RULES_FILES;
my $exceptFile = "$lang/config/exceptions.txt";
buildRulesSens(1, $exceptFile, $lang);
#buildRulesSens(2, $configFile, $lang);
# -------------------------------------------------------------------
sub buildRulesSens {
my ($sens, $exceptFile, $lang) = @_;
@RULES_FILES = ();
my $rulesPath = "$lang/rules/sens$sens";
find \&lsRuleFiles, "$rulesPath";
my $out = "$lang/rules_sens$sens.txt";
my $conf = readConfFile($exceptFile);
open (OUT, ">$out") or error("Cant open '$out'");
foreach my $ruleF (@RULES_FILES) {
printc "Processing rules file: $ruleF\n";
print OUT "#<FILE>$ruleF<BODY>\n";
my $newRules = buildRules($ruleF, $conf);
foreach my $r (@$newRules) {
print OUT "$r\n";
}
#trc('_rules', $_rules); die;
}
close OUT;
}
# -------------------------------------------------------------------
CODE
sub readParams {
my ($lang) = @_;
my ($help, $version);
GetOptions(
"--lang:s" => $lang,
"v" => \$version, "version" => \$version,
"h" => \$help, "help" => \$help);
error("--lang parameter missing") unless $$lang;
if ($$lang !~ /(fr|en)/) {
error("Invalid value for parameter lang=$$lang");
}
}