3 @ARGV == 1 || die "usage: makelang.pl <language>";
5 $usermin = "/usr/local/useradmin/mailbox/ulang";
6 $mailboxes = "/usr/local/webadmin/mailboxes/lang";
7 $sendmail = "/usr/local/webadmin/sendmail/lang";
9 &read_file("$mailboxes/en", \%emailboxes, \@eorder);
10 &read_file("$sendmail/en", \%esendmail);
11 &read_file("$usermin/en", \%eusermin);
13 &read_file("$mailboxes/$ARGV[0]", \%fmailboxes);
14 &read_file("$sendmail/$ARGV[0]", \%fsendmail);
15 &read_file("$usermin/$ARGV[0]", \%fusermin);
17 foreach $k (@eorder) {
18 if ($emailboxes{$k} eq $esendmail{$k} &&
20 $fsendmail{$k} ne $esendmail{$k}) {
21 print "$k=$fsendmail{$k}\n";
23 elsif ($emailboxes{$k} eq $eusermin{$k} &&
25 $fusermin{$k} ne $eusermin{$k}) {
26 print "$k=$fusermin{$k}\n";
30 # read_file(file, &assoc, [&order], [lowercase])
31 # Fill an associative array with name=value pairs from a file
35 open(ARFILE, $_[0]) || return 0;
38 local $hash = index($_, "#");
39 local $eq = index($_, "=");
40 if ($hash != 0 && $eq >= 0) {
41 local $n = substr($_, 0, $eq);
42 local $v = substr($_, $eq+1);
43 $_[1]->{$_[3] ? lc($n) : $n} = $v;
44 push(@{$_[2]}, $n) if ($_[2]);
48 if (defined($main::read_file_cache{$_[0]})) {
49 %{$main::read_file_cache{$_[0]}} = %{$_[1]};