I'd saying changing the value of $/ to alter how a file is read in is pretty idiomatic perl, and failing that knowledge there was a link to the perlvar manpage.

I'm quite comfortable with using $/ myself but in the real world not everyone knows perl as well as you or I. Many people, even those who are aware of $/, have never seen it used for fixed length records. My suggestion was to use English;[1]. If it were a one-liner I'd use $/ but in a program which needs to be maintained it is best to type the extra characters in $INPUT_RECORD_SEPARATOR and to add some comments too.

If the records are delimited by 320 character chunks then the code should work as it'll remove any existing newlines then append one.

To show the problem with the solution you provided, consider a record length of 3 characters and the string "abc\ndef" as input. (We'll ignore the fact that the delimiter was actually CRLF as it doesn't make your solution any more correct.) Your code would read in "abc" and append a newline to it. The next loop would read in "\nde" and append a newline to it... etc. Does that explanation make more sense?

-sauoq
"My two cents aren't worth a dime.";
[1]What's more, use English; was implemented with maintainability in mind. :-P

In reply to Re: Re: Re: Re: Re: Re: Insert at regular increments by sauoq
in thread Insert at regular increments by EyeOpener

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.