# hash defining your folder patterns my %patterns = ( AB => 30, BC => 50, CD => 42, ); foreach my $pattern ( keys %patterns ) { foreach my $folder ( 1 .. $patterns{ $pattern } ) { # construct the folder name using the value of # $pattern, the value of $folder_name, and sprintf() # use make_path() or whatever to create the folder foreach my $subfolder ( 1 .. 100 ) { # construct the subfolder name # create the subfolder } } }