Reading a file in slurp mode sometimes (always?) returns an empty string at end of file, instead of the more expected undef. I believe there are perlbug reports open on this.

Your problem is that you have read all the data in the file, so there is nothing left to read. Either rewind the file (seek FILE, 0, 0, or read it into $string originally instead of into @file. There is no problem with saying print FILE_BU $string; and then modifying $string and writing it back out to FILE (after rewinding it yet again, or you will just be appending to the original data.)


In reply to Re: Converting FILEHANDLE to string by ysth
in thread Converting FILEHANDLE to string by joev

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.