my $nextcommod=0;
my %commodmap;
-sub findcommod ($) {
- my ($cname) = @_;
- my $me= $commodmap{$cname}; return $me if defined $me;
- my $val= $nextcommod++;
+sub alencodenum ($) {
+ my ($val) = @_;
my $res= '';
while ($val || !length($res)) {
my $dig= $val % 62;
$val= ($val-$dig) / 62;
- $res .= chr($dig + ($dig<10 ? 48 :
- $dig<36 ? 97-10 :
- $dig<62 ? 65-36 : die $dig));
+ $res = chr($dig + ($dig<10 ? 48 :
+ $dig<36 ? 97-10 :
+ $dig<62 ? 65-36 : die $dig)) . $res;
}
+ return $res;
+}
+
+sub findcommod ($) {
+ my ($cname) = @_;
+ my $me= $commodmap{$cname}; return $me if defined $me;
+ my $val= $nextcommod++;
+ my $res= alencodenum($val);
$commodmap{$cname}= $res;
# printf "%s:%s\n", $res,$cname;
return $res;