I am trying to load a set of hash keys directly from an open filehandle. The only problem is I cannot remove the newline characters from the data lines that create the hash keys. I can do it in two steps by first reading the filehandle into an array and chomping it, but I would like to avoid the overhead of making an array just to get the hash keys loaded. The following code shows both attempts (with one or the other commented out). Note: I am using DATA for this example. Actual code will read from a file. Any ideas on how I can get the first attempt to remove newlines?

Thanks in advance,
roho

#!/usr/bin/perl -w use strict; ###################################################################### +###### # First attempt - BAD - Load hash from file handle - keys contain newl +ines. ###################################################################### +###### #my %person = map { $_ => 1 } <DATA>; ###################################################################### +###### # Second attempt - GOOD - Load hash from chomped array - no newlines. ###################################################################### +###### chomp(my @array = <DATA>); my %person = map { $_ => 1 } @array; for (keys %person) { print "$_ = $person{$_}\n"; } __DATA__ Ruth Samuel Paul John Silas

"Its not how hard you work, its how much you get done."


In reply to Loading Hash From FileHandle - Cannot Chomp Input Keys by roho

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.