Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^2: Relative Merits of References

by Unanimous Monk (Sexton)
on May 11, 2006 at 15:04 UTC ( [id://548736]=note: print w/replies, xml ) Need Help??


in reply to Re: Relative Merits of References
in thread Relative Merits of References

Or alternatively:

#!/usr/bin/perl use strict; use warnings; my %h1 = ( one => 1, two => 2, ); my %h2 = ( three => 3, four => 4, ); my_sub(\%h1, \%h2); sub my_sub { my ($ref1, $ref2) = @_; my %h1 = %{$ref1}; my %h2 = %{$ref2}; # Or "my %h1 = %{(shift)};" will work too, but I don't really like it. print "$_ $h1{$_}\n" for keys %h1; print "$_ $h2{$_}\n" for keys %h2; }

if you want to keep the hash. This is really the only way to go :)

Replies are listed 'Best First'.
Re^3: Relative Merits of References
by pbeckingham (Parson) on May 11, 2006 at 15:11 UTC

    Now you're making an expensive copy of a hash. You could just be using the references with:

    my ($r1, $r2) = @_; ... print "$_ $h1{$_}\n" for keys %$r1; print "$_ $h2{$_}\n" for keys %$r2;

    Update:Thanks again David, yes, I meant:

    print "$_ $r1->{$_}\n" for keys %$r1; print "$_ $r2->{$_}\n" for keys %$r2;



    pbeckingham - typist, perishable vertebrate.
      print "$_ $h1{$_}\n" for keys %$r1;

      ITYM $h1->{$_}.

      --
      David Serrano

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-03-29 12:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found