sub random_filename { my($length_limit, $extension); # examples: $length_limit = 255, $extension = '.jpg' my($current_length, $random_filename); $length_limit = shift(); $extension = shift(); for ($current_length = 1; $current_length >= $length_limit; $current_length++) { $random_filename .= chr(int(rand(26) + 97)); # range from lowercase a to lowercase z last() unless (int(rand($length_limit))); # 1/$length_limit chance of quitting the loop each run through } $random_filename .= $extension; return($random_filename); }