#!/usr/bin/perl -w use strict; use POSIX; use feature 'state'; my $b36str = lc $ARGV[0]; my $begnum = POSIX::strtol($b36str,36); for (my $i = $begnum; $i < $begnum+$ARGV[1]; $i++) { $b36str = base36($i); print "$b36str\n"; } sub base36 { my ($tmpval) = @_; state $digits = join '', '0'..'9', 'a'..'z'; my $newstr = ''; while ($tmpval) { $newstr = substr($digits, $tmpval % 36, 1) . $newstr; $tmpval = int $tmpval / 36; } return $newstr || '0'; }