use strict; use IO::Handle; if ($#ARGV < 1) { die("usage: \n"); } open(my $gen_file_h,">" . $ARGV[0]) or die "Can't open file for writing\n"; $gen_file_h->autoflush(1); superfast(); close($gen_file_h); die(); sub superfast { #each time though the loop should be 1 meg for (1 .. $ARGV[1]) { #print 1 meg of Zs print {$gen_file_h} "Z" x (1024*1024) } } sub generateRandomFile { my $final_size = $ARGV[1]; for (my $mbytes = 0; $mbytes < $final_size; $mbytes ++) { my $string=""; my @chars = split(" ","a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - _ ! & ? = 0 1 2 3 4 5 6 7 8 9"); for (1..1048576) { my $rand = int(rand(68)); $string .= $chars[$rand]; } print $gen_file_h $string; } }