and nor would I expect it to.

Given the following code:

my %hash=( foo=> 1, bar => 2, fazz=> 0 ); my $rc = delete $hash{bar}; printf "%s\n",$rc; $rc = delete $hash{fazz}; printf "%s\n",$rc;
I get the following results:
2 0

If you read the perldoc for the delete function you'll notice:

               Returns a list with the same number of elements as the number
               of elements for which deletion was attempted.  Each element of
               that list consists of either the value of the element deleted,
               or the undefined value.  In scalar context, this means that you
               get the value of the last element deleted (or the undefined
               value if that element did not exist).

So.. if your value for the key is zero anyway then you'll just return a zero in the scalar context.

Clear as mud?


Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

In reply to Re: Delete a zero-valued hash element by blue_cowdawg
in thread Delete a zero-valued hash element by sush

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.