'Fruits'=> 'Apple', 'Orange', 'Banana', 'Grapes', ,
'Fruits1'=> 'Apples', 'Orange', 'pineapple', 'Grapes',
####
#!/usr/bin/perl
use strict;
use warnings;
my %HoA1 = (
Fruits => [ "Apple", "Orange", "Banana", "Grapes" ],
);
my %HoA2 = (
Fruits1 => [ "Apples", "Orange", "pineapple", "Grapes" ],
);
####
#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 1;
my %HoA1 = (
Fruits => [ "Apple", "Orange", "Banana", "Grapes" ],
);
my %HoA2 = (
Fruits1 => [ "Apples", "Orange", "pineapple", "Grapes" ],
);
is_deeply(\%HoA1, \%HoA2, 'data structures should be the same');
__END__
$ perl test.pl
1..1
not ok 1 - data structures should be the same
# Failed test 'data structures should be the same'
# at test.pl line 14.
# Structures begin differing at:
# $got->{Fruits1} = Does not exist
# $expected->{Fruits1} = ARRAY(0xdc0bc8)
# Looks like you failed 1 test of 1.
####
#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 1;
my %HoA1 = (
Fruits => [ "Apple", "Orange", "Banana", "Grapes" ],
);
my %HoA2 = (
Fruits => [ "Apples", "Orange", "pineapple", "Grapes" ],
);
is_deeply(\%HoA1, \%HoA2, 'data structures should be the same');
__END__
$ perl test.pl
1..1
not ok 1 - data structures should be the same
# Failed test 'data structures should be the same'
# at test.pl line 14.
# Structures begin differing at:
# $got->{Fruits}[0] = 'Apple'
# $expected->{Fruits}[0] = 'Apples'
# Looks like you failed 1 test of 1.
####
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Array::Utils qw(:all);
my %HoA = (
Fruits => [ "Apple", "Orange", "Banana", "Grapes" ],
Fruits1 => [ "Apples", "Orange", "pineapple", "Grapes" ],
);
# print Dumper \%HoA;
=sample of Hash of Arrays output
$VAR1 = {
'Fruits1' => [
'Apples',
'Orange',
'pineapple',
'Grapes'
],
'Fruits' => [
'Apple',
'Orange',
'Banana',
'Grapes'
]
};
=cut
my @AoAValues = sort values %HoA;
# print Dumper \@AoAValues;
=sample of Array of Arrays from values
$VAR1 = [
[
'Apple',
'Orange',
'Banana',
'Grapes'
],
[
'Apples',
'Orange',
'pineapple',
'Grapes'
]
];
=cut
# get items from array @{$AoAValues[1]} that are not in array @{$AoAValues[0]}
# my @diff = array_minus( @{$AoAValues[1]}, @{$AoAValues[0]} );
my %hash;
$hash{'difference'} = [ array_minus( @{$AoAValues[1]}, @{$AoAValues[0]} ) ];
print Dumper \%hash;
__END__
$VAR1 = {
'difference' => [
'Apples',
'pineapple'
]
};
####
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Array::Utils qw(:all);
my %HoA1 = (
Fruits => [ "Apple", "Orange", "Banana", "Grapes" ],
Fruits1 => [ "WaterMellon" ],
);
my %HoA2 = (
Fruits => [ "Apples", "Orange", "pineapple", "Grapes" ],
Fruits1 => [ "Mellon" ],
);
my @AoAValues1 = sort values %HoA1;
my @AoAValues2 = sort values %HoA2;
my %hash;
for (0 .. $#AoAValues1) {
$hash{$_} = [ array_minus( @{$AoAValues2[$_]}, @{$AoAValues1[$_]} ) ];
}
print Dumper \%hash;
__END__
$ perl test.pl
$VAR1 = {
'0' => [
'Apples',
'pineapple'
],
'1' => [
'Mellon'