my @dateParts = split /[\/\-]/, $chaseList[1]; my $month = $dateParts[0]; # For purposes of example; see note below #### $vendor = $chaseList[2]; $amount = $chaseList[3]; # Now we can directly reference the hash by vendor inside the array by month number: # $chaseArray[$month]{$vendor} #### my ( $tranType, $tranDate, $tranDesc, $tranAmount, $tranMedium, @extraStuffJustInCase ) = split /\,/, @chaseList; my ($tranVendor, @restOfDesc) = split /\s/, $tranDesc; #### $chaseArray[$month]{$tranVendor} += $tranAmount;