in reply to descending a tree of hash references
I've been in your exact same position before. Here's a snippet which may save you some hair-pulling:
#!/usr/bin/perl -w use strict; use Data::Dumper; my $s = { foo =>'bar', baz => { troz => 'zort', blort => { poit => 'qux', } } }; print Dumper $s; # This works in 5.6.1 and later set($s, qw/baz blort poit/) = "Whee!"; set($s, qw/baz troz/) = "Joy!"; # In 5.6.0 (and earlier) you have to: # set($s, qw/baz blort/)->{poit} = "Whee!"; # set($s, qw/baz/)->{troz} = "Joy!"; print Dumper $s; sub set : lvalue { @_ == 1 ? $_[0] : set($_[0]{$_[1]},@_[2..$#_]); }
perl -pe '"I lo*`+$^X$\"$]!$/"=~m%(.*)%s;$_=$1;y^`+*^e v^#$&V"+@( NO CARRIER'
In Section
Seekers of Perl Wisdom