my ( @records, @orders, %seen ); #### RECORD: for my $record (@records) { ... #### if (/Order ID:(\S+)/) { next RECORD if $seen{$1}; $seen{$1}++; $hash{orderID} = $1; } #### writeToSpreadSheet( $row, \%hash ); #### sub writeToSpreadSheet { my ($row, $hashReference) = @_; ...