Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: retrieving referenced hash information

by DigitalKitty (Parson)
on Mar 12, 2004 at 19:30 UTC ( [id://336244]=note: print w/replies, xml ) Need Help??


in reply to retrieving referenced hash information

In the example below, I want to know what names are used for referencing that start with "TH" and their values. (i.e. THATCODE, THISCODE, etc...)

Hi Sacco.

$rec = { TEXT => $string, SEQUENCE => [ @old_values ], LOOKUP => { %some_table }, THATCODE => \&some_function, THISCODE => sub { $_[0] ** $_[1] }, HANDLE => \*STDOUT, }; my %hash = %$rec; while ( ( $key, $value ) = each %hash ) { print "$key = $value\n" if( $key =~ /^TH/ ); }


Output:
C:\>perl p14.pl THISCODE = CODE(0x155ad54) THATCODE = CODE(0x155ac40) C:\>

The CODE(address) indicates a subroutine. If you wanted to look for keys that did not begin with 'TH', you could use the following program:

$rec = { TEXT => $string, SEQUENCE => [ @old_values ], LOOKUP => { %some_table }, THATCODE => \&some_function, THISCODE => sub { $_[0] ** $_[1] }, HANDLE => \*STDOUT, }; my %hash = %$rec; while ( ( $key, $value ) = each %hash ) { print "$key = $value\n" if( $key !~ /^TH/ ); }


Output:
C:\>perl p14.pl TEXT = SEQUENCE = ARRAY(0x15550f0) LOOKUP = HASH(0x15551b0) HANDLE = GLOB(0x155a5c4) C:\>

Hope this helps,
-Katie.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://336244]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (3)
As of 2024-04-25 06:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found