[datastore]/P/PE/PER/PerlMonks [datastore]/P/PE/PER/PerlTheLanguage [datastore]/F/FL/FLA/FlatFiles .. in other words .. my $FileName; my ($DIR, $DI, $D); if (length($FileName) >= 3) { $DIR = uc(substr($FileName, 0, 3)); $DI = substr($DIR, 0, 2); $D = substr($DI, 0, 1); } # in case the FileName is 2 characters long (less than 2 not possible) elsif (length($FileName) == 2) { $DIR = uc($FileName) . '0'; $DI = uc($FileName); $D = substr($DI, 0, 1); }