File::Temp a IO::Handle

Honza Pazdziora adelton na informatics.muni.cz
Středa Říjen 30 12:27:16 MET 2002


On Wed, Oct 30, 2002 at 11:14:11AM +0100, Jan Kasprzak wrote:
> : 
> : Protoze je Tvuj problem, ze se snazis ten $fh pouzit objektove. Pokud
> : udelas
> : 
> : 	print { $fh } "jezek\n";
> : 
> : tak zadny IO::Handle nepotrebujes. A pro nas, co IO::Handle
> : a objektove printy nechceme, by byla takova vec zbytecne
> : zatezujici.
> 
> 	To je divne. A jaktoze teda vi ze je to objekt typu IO::Handle,
> kdyz to neudela "use IO::Handle" samo o sobe?

Magie. Ono je to niz nez v File::Temp, ono je to v perlu samem (verze
5.6 a vys). Vyzkousej

$ perl -e 'sysopen $fh, "/etc/passwd", "r"; while (<$fh>) { print } '
$ perl -e 'sysopen $fh, "/etc/passwd", "r"; while ($_ = $fh->getline) { print } '
$ perl -MIO::Handle -e 'sysopen $fh, "/etc/passwd", "r"; while ($_ = $fh->getline) { print } '

V manove strance IO::Handle se pise, ze ty funkce jako close a print
a tak jsou "just front ends for the corresponding built-in functions".
A pak je tam neco o perlvar, kde se prozmenu pise "first you must say
use IO::Handle".

Hele, nemohl by ses proste smirit s tim, ze musis rict use IO::Handle?
;-))

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Perl