#!/usr/bin/perl #$idnum = 0; @idname = ('VIRIDIA','GREENNILL','SKYLY','BLUEFULL','PURPLENUM','PINKAL','REDRIA','ORAN','YELLOWBOZE','WHITILL'); while (1){ $name = ; $name =~ s/\n//g; # $name =~ s/[\x80-\xff]//g; $name = substr($name, 0, 12); exit unless $name; #print "$name" . "\n" ; while (length($name) < 13) { &idconvset($name); $name .= ' '; } } sub idconvset { local($name) = $_[0]; &idconv($name); &idconv(&smallconv($name)); &idconv(&initcapconv(&smallconv($name))); &idconv(&capconv($name)); } sub idconv { local($idnum) = 0; local($name) = $_[0]; local(@letters) = split (//, $name); foreach $letter (@letters) { $idnum += unpack("c*", $letter) % 10; } print "\'${name}\' \= ${idname[$idnum % 10]}\n"; } sub capconv { $_[0] =~ tr/a-z/A-Z/; return $_[0]; } sub smallconv { $_[0] =~ tr/A-Z/a-z/; return $_[0]; } sub initcapconv { local(@letters) = split ('', $_[0]); local($letternum) = 0; foreach (@letters) { if (tr/a-z/A-Z/) { $letters[$letternum] = $_; local($name) = join('', @letters); return $name; } $letternum++; } local($name) = join('', @letters); return $name; }