my %hash = $VAR1 = { '900000001' => { 'Network1' => [ 'Not used', 'Not used', 'Not used', 'Not used' ], 'Network1 ENV' => [ '2020-09-09T18:36:50.000Z', '2020-09-09T18:36:50.000Z' ], 'NETOWORK2' => [ '2021-03-10T18:15:54.000Z', '2020-12-17T19:36:21.000Z', '2021-03-10T18:15:54.000Z' ] }, '266000003' => { 'Network1 ENV' => [ '2021-03-08T13:34:59.000Z' ] }, '566000003' => { 'Network1 ENV' => [ '2020-09-09T18:36:50.000Z', '2020-09-09T18:36:50.000Z', '2020-09-09T18:36:50.000Z' ], 'NETOWORK2' => [ '2020-12-17T19:36:21.000Z', '2020-12-17T19:36:21.000Z', '2020-12-17T19:36:21.000Z', '2020-12-17T19:36:21.000Z', '2020-12-17T19:36:21.000Z', '2020-12-17T19:36:21.000Z', '2020-12-17T19:36:21.000Z', '2020-12-17T19:36:21.000Z', '2021-03-10T18:15:54.000Z', '2021-03-10T18:15:54.000Z', '2020-12-17T19:36:21.000Z', '2021-03-10T18:15:54.000Z' ], 'Network1' => [ 'Not used', 'Not used' ] } }; #### foreach my $key (keys(%hash)) { foreach my net (keys %{ $hash{$key} }) { my $date_time = (sort @{ $ssoidmfadates{$key}{$net} })[-1]; my @dt_dob1 = unpack("A4xA2xA2",$date_time); if (check_date(@dt_dob1)){ print "SSO ID: $key, Mfa Cat : $net , Valid: $date_time\n"; } else { print "Not used"; } } }