http://qs321.pair.com?node_id=46961


in reply to Re: map it back jack
in thread map it back jack

Seems like you can save a couple of keystrokes if you're not particular about what ends up in $v, since s/// operates on $_:

my $v; my %myhash = map { $v = $_; s/_/ /g; $v, $_ } @elements;
Is there a way to pare it down more? (The Monastery needs a golf course!)

Update: As I0 points out, this also modifies @elements, which may not be what you want.

johannz's for construct is looking the most elegant to me now.

Replies are listed 'Best First'.
Re: Re: Re: map it back jack
by turnstep (Parson) on Dec 16, 2000 at 03:11 UTC
    In the quest for Shorter and More Efficient:
    my %myhash = map { $v=$_; y/_/ /; $_,$v } @elements;
Re: Re: Re: map it back jack
by I0 (Priest) on Dec 16, 2000 at 03:18 UTC
    You may not be particular about what ends up in $v, but if you're particular about what ends up in @elements you won't want to modify $_ ($v=$_)=~tr/_/ /;$_,$v