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.
|