Re: Treating filehandles like strings
[email protected] (Jon Ericson) Mon, 7 Aug 2000 03:09:36 -0700 (PDT)
| Newsgroups | perl.perl6.language.io,perl.perl6.language |
|---|---|
| Message-ID | <[email protected]> |
[Reply to perl6-language-io as this is an I/O related.] Michael Mathews wrote: > > Here's a thought. Wouldn't this be cool (see below)? The idea is that in > Perl 6 you should be able to read from a file handle one character or one > line at a time (just like you can in Perl 5) BUT if you just go ahead and > use the filehandle, directly, in a scalar context then perl will read it in > as a string most efficiently, and allow you to perform your rgex, or > whatever without creating a temporary variable just to hold the contents of > that file. This is what the angle brackets do currently, unless I misunderstand you. I don't like the no-operator syntax you propose, because it hides the file operation. I'd rather have a filehandle stringify to the filename instead. > open FH, $filepath; > ($found) = FH =~ /pattern/; > print $found; open FH, $filepath; ($found) = <FH> =~ /pattern/; # or print <FH> =~ /pattern/; print $found; > #or just > > print FH; print <FH>; > #or, for example > > @things = split /delimiter/, FH; @things = split /delimiter/, <FH>; > And how would s// work, I wonder? Hmmm... something to think about! Anyone > one smarter than me (includes nearly all of you) have a thought on this? <FH> =~ s/pattern/replacement/; # dies in current Perl Perhaps this behaviour should be changed for files opened '+<'? Jon __________________________________________________ Do You Yahoo!? Kick off your party with Yahoo! Invites. http://invites.yahoo.com/