Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

need help with judy array searching

by expo1967 (Sexton)
on Dec 15, 2020 at 15:21 UTC ( #11125236=perlquestion: print w/replies, xml ) Need Help??

expo1967 has asked for the wisdom of the Perl Monks concerning the following question:

At the office I have been asked to become familiar with some of the Perl scripts on our Linux system with the eventual goal being I will make some modifications to the scripts.

I have written some small test scripts that load data into judy arrays using both the object and non-object interfaces to the judy module. My test scripts have also done some basic querying which seems to work as expected. However I am puzzled by some of the parameters to the "search()' routine. While looking at the code in the module I am studying I have noticed some values for the "min_key" and "max_key" parameters that I do not understand. min_key => '.' max_key => '/' What are the effects of these parameters to search() ? Since the code I am working on is at the office I can't show all the details, but here are a few lines extracted from the module i am studying

use Tie::Judy; use strict; no strict 'refs'; no strict 'subs'; sub work1 { my ($args,$parm2,$parm3,$parm4,$parm5) = @_; my $search; $search->{'min_key'} = '/'; ## snip ## return(work2($search,$parm2,$parm3,$parm4,$parm5)); } # end of work1 sub work2 { my ($args,$parm2,$parm3,$parm4,$parm5) = @_; my @result = $judy->search(%{$args});

Replies are listed 'Best First'.
Re: need help with judy array searching (updated)
by LanX (Cardinal) on Dec 15, 2020 at 16:36 UTC
    Continuation of need help with Tie::Judy

    edit

    AFAIK are Judy arrays sorted hashes, so I'd say they define a search interval.

    I'd suggest you try this out, and try to give us feedback.

    update

    Yep!

    From the test suite mentioned in Re: need help with Tie::Judy

    # test search method $obj->insert ( foo => 4, food => 5, fop => 6 ); # no args, returns all keys is_deeply([$obj->search], ['foo', 'food', 'fop']); # test min_key and max_key independently is_deeply([$obj->search(min_key => 'food')], ['food', 'fop']); is_deeply([$obj->search(max_key => 'food')], ['foo', 'food']);

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

Re: need help with judy array searching
by eyepopslikeamosquito (Bishop) on Dec 16, 2020 at 00:17 UTC
Re: need help with judy array searching
by marto (Cardinal) on Dec 15, 2020 at 15:39 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://11125236]
Approved by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2021-04-23 03:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?