sub encrypt { my $key = shift; if ($Translate{$key}) { $key =~ s|\Q$key\E|\#\#\#$Translate{$key}\#\#\#|g; return $key; } my $value; my @table = ('0'..'9','a'..'z','A'..'Z'); while ($Used{$value}) { foreach $i (1..9) { $value .= $table[rand($#table+1)]; } } $Used{$value}++; $Translate{$key}=$value; open TABLE, ">>$dir/translate.dat"; print TABLE "$key\t$value\n"; close TABLE; $key =~ s|\Q$key\E|\#\#\#$value\#\#\#|g; return $key; }