Thank you again for your answer. The IO layers are a great construct. And it is good to know about them.

But now I want to add the following behaviour to the AnyCRLF module:

If the layer crlf is not on the stack, I want that the AnyCRLF module automatically puts it on the stack. So the module will always work independent if the user specified the crlf-layer in his open call or not.

But I have no idea how to achieve this goal. I tried to overwrite the OPEN function as follows:

sub OPEN { my ($self, $path, $mode, $fh) = @_; print "Path: " . $path . "\n"; print "Mode: " . $mode . "\n"; print "FH: " . $fh . "\n"; open $fh, "<:crlf", $path; }

My idea was to do an open with the crlf-layer and so to put this layer on the stack. But it does not work. First I only get the path ("le.txt") in the OPEN function. The mode and the fh are undefined.

Would be very interesting for me how to achieve it that the AnyCRLF module is automatically putting the crlf-layer on the stack if it is not already available.

Thank you very much

Dirk


In reply to Re^4: line ending troubles by Dirk80
in thread line ending troubles by Dirk80

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.