Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: Trying to optimize de-referenced hash slice without scope variables...

by monsieur_champs (Curate)
on Jun 15, 2004 at 17:26 UTC ( [id://366957]=note: print w/replies, xml ) Need Help??


in reply to Re: Trying to optimize de-referenced hash slice without scope variables...
in thread Trying to optimize de-referenced hash slice without scope variables...

Fellow boriz
Thank you very much for your suggestion, but I'm not sure if

perl -MData::Dumper -e "print Dumper @{$_[3]}{'a','b','c','d'}, $_[3]; + " $VAR1 = undef; $VAR2 = undef; $VAR3 = undef; $VAR4 = undef; $VAR1 = undef; $VAR2 = undef; $VAR3 = undef; $VAR4 = undef; $VAR1 = undef; $VAR2 = undef; $VAR3 = undef; $VAR4 = undef; $VAR5 = '1';
is the same thing as
perl -MData::Dumper -e 'print Dumper @$data{"a","b","c"}, $data' $VAR1 = undef; $VAR2 = undef; $VAR3 = undef; $VAR4 = { 'c' => undef, 'a' => undef, 'b' => undef };
or I'm doing something really wrong here, or your data structure definition is not the same as my example. :-) Nice try, anyway.

Replies are listed 'Best First'.
Re^3: Trying to optimize de-referenced hash slice without scope variables...
by Joost (Canon) on Jun 15, 2004 at 17:31 UTC

      Autovivification shouldn't fill in the data structure as I access it? So both the accesses should produce the same data structures (that's autovivification work, I guess), and Data::Dumper should produce the same result in both cases.

      BTW, here is the result, again:

      perl -MData::Dumper $data = { a=>'b', c=>'d', e=>'h', i=>'j' }; $_[3] = { a=>'b', c=>'d', e=>'h', i=>'j' }; print Dumper @$data{'a','c','e'}; print "\n"; print Dumper @{$_[3]}{'a','c','e'}; print "\n";
      and the result was:
      $VAR1 = 'b'; $VAR2 = 'd'; $VAR3 = 'h'; $VAR1 = 'b'; $VAR2 = 'd'; $VAR3 = 'h';
      exactly as expected. I'm confused. What's the problem with auto-vivification? Its supposed to fill in the "gore details", it isn't?

      Thank you for your time and patience!

Re^3: Trying to optimize de-referenced hash slice without scope variables...
by borisz (Canon) on Jun 15, 2004 at 17:37 UTC
    My perl works this way, Im sure there is another mistake.
    #!/usr/bin/perl use Data::Dumper; %xx = ( a => 1, b => 2 ); sub inputBox{ @{$_[3]}{'a','b','c','d'}; } sub inputBox2{ my $data = $_[3]; @$data{'a','b','c','d'}; } print Dumper (inputBox( 1,2,3,\%xx)); print Dumper (inputBox2( 1,2,3,\%xx));
    Boris

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (5)
As of 2024-04-23 19:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found