in reply to Re: Using formats for 2-columnprinting
in thread Using formats for 2-columnprinting
#!/usr/local/bin/perl -w use strict; my %hash_you_want_to_scan = ('kudra' => 1, 'neshura' => 2, 'Ozymandias' => 3, 'merlyn' => 4, ); { my $value; my $hash_ref; my $done; sub get_key { my $key; unless ($done) { ($key, $value) = each %$hash_ref or # yes, $value is out of scop +e $done = 1; } defined $key ? $key : ""; } sub get_value { defined $value ? $value : ""; } sub set_hash { $hash_ref = shift; keys %$hash_ref; # reset each() $done = 0; } } set_hash(\%hash_you_want_to_scan); write STDOUT; format STDOUT = @<<<<< @<<< @<<<<< @<<< ~~ get_key(), get_value(), get_key(), get_value() .
(It's the extra 'my' in front of the $value, which was wrecking the scope).sub get_key { my $key; unless ($done) { ($key, my $value) = each %$hash_ref or # yes, $value is out of s +cope $done = 1; } defined $key ? $key : ""; }
format STDOUT = @>>>>> @### @>>>>> @### ~~ get_key(), get_value(), get_key(), get_value() .
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
RE: (jcwren) Re: (2) Using formats for 2-columnprinting
by merlyn (Sage) on Oct 03, 2000 at 18:16 UTC | |
by merlyn (Sage) on Oct 03, 2000 at 18:20 UTC |