#!/usr/bin/perl use warnings; use strict; use constant PWCHARS => ['0'..'9', 'A'..'Z', 'a'..'z']; sub rand_char { PWCHARS->[rand @PWCHARS] } my $foo; for (1..( ARGV[0] || 8 ) ) { $foo .= rand_char; } print $foo, $/;