Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Re: Re: File::Grep

by larryk (Friar)
on Jan 27, 2002 at 18:01 UTC ( #141934=note: print w/replies, xml ) Need Help??

in reply to Re: Re: File::Grep
in thread File::Grep

    ... if you had binary files that you wanted search ...

I actually meant ASCII files with one or two corrupt lines containing binary data - more specifically ^Z - the DOS EOF character which perl sees as the perfect opportunity to jump out of a while loop early (unless binmode is in effect).

I'm not sure what you mean by

    Unfortunately, turning binmode on by default would be problematic as well.

but I think I have a solution - use open. The open pragma affects I/O ops for the script and from perldoc open comes the following snippet

    The ":raw" discipline corresponds to "binary mode" and the ":crlf" dis +cipline corresponds to "text mode" on platforms that distinguish betw +een the two modes when opening files (which is many DOS-like platform +s, including Windows). These two disciplines are currently no-ops on +platforms where binmode() is a no-op, but will be supported everywher +e in future.

which may solve whatever problems you are suggesting binmode causes.

perl -le "s,,reverse killer,e,y,rifle,lycra,,print"

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://141934]
[1nickt]: perl -wE 'say for map { ... } 1..3;' # "Unimplemented at -e line 1" ... <c>perlsyn says that should throw a syntax error...
[karlgoethebier]: 1nickt: "Edge cases..." Yes, it seems so. Thanks Nick

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (9)
As of 2017-11-18 19:48 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (277 votes). Check out past polls.