I've written a preliminary version of this pragma (it's horrible and ugly, by the way).
use deref;
$href = { 1,2,3,4 };
for (sort keys HASH{ $href }) {
print "$_ -> $href->{$_}\n";
}
I'm working on a second one that doesn't require the { }. It's difficult, because I have to parse perl, and pretty much the only language that can parse perl is Perl. I mean, my first version breaks in places like:
print "This breaks the HASH{} thing.\n";
# becomes
print "This breaks the %{} thing.\n";
I suppose I could run the code through B::Deparse, but that might break parts of it, which would be A Bad Thing.
$_="goto+F.print+chop;\n=yhpaj";F1:eval