[Perl] my quiz (easy)

Nadav Popplewell nadav at nirim.co.il
Thu Oct 24 06:33:45 PDT 2002

> Hello.
> Write a sub which receives some integer number 
> greater than zero (lets call the number N), and
> return a string of N characters (over [A-Za-z0-9]).
> Calling the sub within the same run of the program should 
> guarantee no two strings of length N are equal (i.e. all the
> strings of same length are uniqe).
> Good luck.
> Let's see who writes the nicest and perhaps smartest peace of code.


my @info;

my @lists=('0','A','a');

sub unique_str {
    my $len=shift;
    unless (defined $info[$len]) {
    my $ref=\$info[$len][1];
    my $ret=$$ref;
    if (length(++$$ref)!=$len) {
       my $l=$info[$len][0]=($info[$len][0]+1) % 3;
    return $ret;

my %u;

my $s;
do {
    print "$s\n";
} until $u{$s}>1;

More information about the Perl mailing list