I'm polishing up a little code for some code I am sending to a potential employer, but I have encountered this weirdness in perl's syntax. Here is the skinny.
sub shift_sort { my %hash = (1 => { foo => bar }, 2 => { baz => bletch }); shift @{ sort( { $a <=> $b } keys (%hash)) }; # doesnt work my @foo = sort( { $a <=> $b } keys (%hash)); shift @foo; # works }
if we look at perldoc -f scalar we see I've been away from perlmonks for a few days because my rassin-frassin ISP has been offline for a week. I am aware that Dominus has posted an excellent article on list vs. scalar context, but I only have another fifteen minutes left in the lab, and I needed to get the question asked (and hopefully answered). I am totally stumped here. I fixed it using @foo, but I would really rather not. Note please that this is working code that I was cleaning up, rather than broken code I need to fix -- so its a convenience and a courtesy more than anything. But I'd ideally like to get this done by monday when its supposed to be there. :)

indebted,
brother dep.

--
Laziness, Impatience, Hubris, and Generosity.


In reply to Using shift() on sort() and syntactical funniness by deprecated

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.