in reply to Have hash of arrays. Want to test if variable is a member of any of the arrays

Inspired by Re: Have hash of arrays. Want to test if variable is a member of any of the arrays i "borrowed" some code of my predecessors at gave List::BinarySearch by davido a quick try:

#!/usr/bin/env perl use warnings; use strict; use List::BinarySearch qw( binsearch ); my %hoa = ( x => [qw(a b c d)], y => [qw(e f g)], z => [qw(h i c j)], ); my $x = q(c); for my $k ( keys %hoa ) { my @tmp = sort { $a cmp $b } @{ $hoa{$k} }; my $idx = binsearch { $a cmp $b } $x, @tmp; if ( defined $idx ) { print qq($k => $tmp[$idx]\n); } } __END__ x => c z => c

N.B.: First time usage of this module. I don't claim that my sketch written for curiosity is good or better... It isn't ;-)

For details please see ebenda.

Best Regards, Karl

«The Crux of the Biscuit is the Apostrophe»

  • Comment on Re: Have hash of arrays. Want to test if variable is a member of any of the arrays
  • Download Code