You have more fields in a line (at least one) than you have columns in the header line. Just a WAG since you've not given any useful sample data but my guess is that you've got spaces in (say) what you expect to be coming as a single column (e.g. you have a street name with embedded spaces and your line is something like Fred New Sesame 12345). When you split that line you're getting four values in @fields and the undef error because you're accessing $field_names[3] which doesn't exist if your header line is Name Street Zip.

Problem is that your data format isn't the greatest so there's not really an obvious suggestion how to fix it. Theoretically you might presume the first and last fields are Name and Zip and treat however many appear in the middle as Street, but if your data has Names with embedded spaces that's going to fail as well. Better would be to step back and get your input data into a more amenable format (e.g. CSV wouldn't be bad (EDIT: and then use Text::CSV_XS or the like to parse it)).

The cake is a lie.
The cake is a lie.
The cake is a lie.


In reply to Re: Creating report by Fletch
in thread Creating report by catfish1116

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.