You could also use Data::Dumper in Terse mode to transform the contents of your array into a string which you can lc and eval to make all contents, including hash keys and values, lower case.
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @array1= (
{
'My_ID' => '86091',
'IP' => '2001:DB8:0:0:0:0:0:0/128'
},
{
'mY_id' => '86091',
'iP' => '2001:DB8:0:0:0:0:0:0/32'
}
);
print Dumper(\@array1);
print "\nCompare with\n";
@array1 = @{lowercase(\@array1)};#Dereference array ref to array
print Dumper(\@array1);
sub lowercase{
my $orig_aref = shift;
local $Data::Dumper::Terse = 1; #Eliminate '$VAR1 = '
my $string = Dumper($orig_aref); #Stringify contents of data struc
+ture
my $arefmod = eval lc($string); #Make all data lower case and eval
+uate
return $arefmod;
}
"It is dangerous to understand new things too quickly." — Josiah Warren