I will second haukex here, STDIN is a global resource and modules really should not be explicitly using it unless that is their purpose, as in Term::ReadLine or similar. Further, modules should very rarely execute code at top-level and the convention is that module names in all lowercase are reserved for pragmas like strict and warnings.

There are several much better solutions, but unless you describe what you are trying to do, we will not really be able to help you. If you really are misusing the module system as a subroutine call, perhaps this will help: (untested)

use strict; use warnings; sub file_read { local $.; my $fh = shift; while (<$fh>) { print } return $.; } print file_read(\*STDIN), "\n";

See perlvar for what the $. variable does and perlreftut for a quick introduction to "that funny \ thing".


In reply to Re: Usage of STDIN for file reading inside a module by jcb
in thread Usage of STDIN for file reading inside a module by arunkumar.rk141

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.