#!/usr/bin/perl
use strict; # https://perlmonks.org/?node_id=11129741
use warnings;
use List::Util qw( maxstr );
my %hash =
(
266000003 => {
"Network1" => ["NA"],
"Network1 ENV" => ["2021-03-08T13:34:59.000Z"],
},
566000003 => {
"Network1" => ["NA", "NA", "NA", "NA", "NA", "NA
+", "NA", "NA", "NA"],
"Network1 ENV" => [
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
"2020-09-09T18:36:50.000Z",
],
"NETWORK2" => [
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
"2021-03-10T18:15:54.000Z",
],
},
900000001 => {
NETWORK2 => [
"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",
"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",
"2020-12-17T19:36:21.000Z",
],
},
);
#use Data::Dump 'dd'; dd \%hash;
my %best;
for my $id (keys %hash)
{
for my $net ( keys %{ $hash{$id} } )
{
for ( @{ $hash{$id}{$net} } )
{
/T/ and $best{$id} = maxstr "$_,$net", ($best{$id} // '');
}
}
}
printf "SSO ID: %s, Mfa Cat : %s , Valid: %s\n", $_, reverse split /,/
+, $best{$_}
for sort keys %best;
Outputs:
SSO ID: 266000003, Mfa Cat : Network1 ENV , Valid: 2021-03-08T13:34:5
+9.000Z
SSO ID: 566000003, Mfa Cat : NETWORK2 , Valid: 2021-03-10T18:15:54.000
+Z
SSO ID: 900000001, Mfa Cat : NETWORK2 , Valid: 2020-12-17T19:36:21.000
+Z