У меня есть следующий сценарий Perl, который генерирует строку, основанную на номер:Как генерировать последовательности символов, такие как шестнадцатеричные с другой базой?
my @chars;
push @chars, map(chr, 48..57), map(chr, 97..122);
my $c = $#chars+1;
for (0..50) {
my $string;
my $l = $_/$c;
my $i = int $l;
my $r = ($l - $i) * $c;
$string .= $chars[$r];
while ($i > 0) {
$l = $i/$c;
$i = int $l;
$r = ($l - $i) * $c;
$string .= $chars[$r];
}
print "$string\n";
}
Когда я запускаю это я получаю следующий вывод:
0
1
2
3
4
...
z
01
01
21
21
41
41
61
61
81
91
91
b1
b1
d1
d1
Что мне не хватает? Благодарен за любую помощь!
Что вы пытаетесь заставить его сделать? Что именно вы спрашиваете? Вы спрашиваете, как вы конвертируете radix или вы просите анализ этого Perl-кода? –
Я пытаюсь создать что-то похожее на Base64, но с базой 36 в этом случае, используя диапазон символов, указанный в @chars. – tbjers