Okay, a brief list of things to consider:
  1. The use strict pragma is a great tool, particularly if you are just learning. It catches a lot of silly errors. Similarly for use warnings. See Use strict warnings and diagnostics or die for a discussion why.

  2. Rather than two-argument open w/ bareword filehandle, it's probably a better idea to use three-argument open with an indirect handles. See perlopentut for lots of gory detail. You should also check if the open actually succeeded with an or die clause. In this case, your opens might look like:

    open($Definedlist, '<', $name) or die "Open failed on $name: $!"; + # opens the file and places the contents into Namelist open($BigNamelist, '<', $newName) or die "Open failed on $name: $!"; + # opens the second file and places the contents into Newlist
  3. Your close statements are being run against non-existent filehandles. Using indirect filehandles with strict would have caught this error. Also, you don't usually need to close indirect filehandles since the close automatically when they go out of scope.

  4. There is no Perl egrep built-in (function? method? sub? I'm never sure what to call things). There is a grep. This particular task is also a FAQ. See How can I tell whether a certain element is contained in a list or array?

You should probably pick up an into text to help you get started. You can't beat the price of Beginning Perl, though it's pretty out of date. See a whole list of books at http://learn.perl.org/books/. Anonymous Monk's suggestion of reading perlintro is also a good idea.

HTH.


#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.


In reply to Re: Help from the Perliest monks by kennethk
in thread Help from the Perliest monks by perlmonknoob

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.