I copied your script into a new file and validated its syntax
perl -c z3.pl z3.pl syntax OK
But then, I added use strict; on line 3 and did the same procedure
perl -c z3.pl Global symbol "$i" requires explicit package name at z3.pl line 6. Global symbol "$input" requires explicit package name at z3.pl line 11 +. Global symbol "$input" requires explicit package name at z3.pl line 12 +. Global symbol "$fundcode" requires explicit package name at z3.pl line + 13. Global symbol "$input" requires explicit package name at z3.pl line 13 +. Global symbol "$fundcode" requires explicit package name at z3.pl line + 14. Global symbol "$input" requires explicit package name at z3.pl line 15 +. Global symbol "$input" requires explicit package name at z3.pl line 16 +. Global symbol "$input" requires explicit package name at z3.pl line 18 +. Global symbol "$input" requires explicit package name at z3.pl line 19 +. Global symbol "@in" requires explicit package name at z3.pl line 20. Global symbol "$input" requires explicit package name at z3.pl line 20 +. Global symbol "$i" requires explicit package name at z3.pl line 24. Global symbol "$final" requires explicit package name at z3.pl line 25 +. Global symbol "@in" requires explicit package name at z3.pl line 25. Global symbol "@in" requires explicit package name at z3.pl line 28. Global symbol "$fundcode" requires explicit package name at z3.pl line + 28. Global symbol "$fundcode" requires explicit package name at z3.pl line + 28. Global symbol "$i" requires explicit package name at z3.pl line 29. Global symbol "$fundcode" requires explicit package name at z3.pl line + 31. Global symbol "$fundcode" requires explicit package name at z3.pl line + 31. Global symbol "$fundcode" requires explicit package name at z3.pl line + 32. Global symbol "@in" requires explicit package name at z3.pl line 32. Global symbol "@in" requires explicit package name at z3.pl line 32. Global symbol "@in" requires explicit package name at z3.pl line 32. Global symbol "$outfile" requires explicit package name at z3.pl line +44. Global symbol "$outfile" requires explicit package name at z3.pl line +45. Global symbol "$final" requires explicit package name at z3.pl line 46 +. Global symbol "$file" requires explicit package name at z3.pl line 52. Global symbol "$file" requires explicit package name at z3.pl line 54. Global symbol "$file" requires explicit package name at z3.pl line 54. z3.pl had compilation errors.
And that matches line numbers (and a few more) where you are getting those messages.

No matter how simple the script may be use strict is not to be avoided and can save you some headaches.

In reply to Re: Uninitialized value in concatenation by olus
in thread Uninitialized value in concatenation by eiglesias

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.