Yes, toolic is right, chomp is needed to remove the new line character from the input line, but the other change proposed by vinoth.ree is also needed, because, right now, this line of your code:
next if $. < 2;
is skipping the two first lines, whereas your IP address sits on the second line, so that the is_ipv4 subroutine never gets a chance to see it. Changing it to:
next if $. <= 2;
or something equivalent would solve this issue.

Actually, rather than skipping lines, which is not very robust (your file might have a commented-out line at the top, who knows?), I would rather check if the extracted key matches IPADDR.

Je suis Charlie.

In reply to Re: IP address validation when IP is picked dynamically by Laurent_R
in thread IP address validation when IP is picked dynamically by rahulruns

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.