NAME
PerlIO::code - Calls a subroutine with I/O interface
VERSION
This document describes PerlIO::code version 0.03
SYNOPSIS
# make an input filter
open
my
$in
,
'<'
,
sub
{
uc
scalar
<> };
while
<
$in
>;
# make an output filter
open
my
$out
,
'>'
,
sub
{
uc
shift
};
$out
while
<>;
# it accepts an extra argument
sub
my_readline{
my
(
$fh
) =
@_
;
my
$line
= <
$fh
>;
# ...filterling...
return
$line
;
}
open
my
$fh
,
'<'
, \
&my_readline
, \
*STDIN
;
DESCRIPTION
PerlIO::code
helps to make an simple I/O filter. It is easier than tie
, but provides very limited functions. All it can do is to do readline()
and print()
.
NOTES
For some reason, the actual layer name of
PerlIO::code
is:Code
, not:code
.PerlIO::code
is slower than thetie
interface.open my $in, '<', sub{ "foo" }; my $s = <$in>;
makes an endless loop, because the internalreadline
routine reads$in
on until reachingEOF
, which is never reached.
CONFIGURATION AND ENVIRONMENT
No configuration files or environment variables.
DEPENDENCIES
Perl 5.8.1 or later, and a C compiler.
BUGS AND LIMITATIONS
No bugs have been reported.
Please report any bugs or feature requests to bug-perlio-code@rt.cpan.org
, or through the web interface at http://rt.cpan.org/.
SEE ALSO
AUTHOR
Goro Fuji <gfuji(at)cpan.org>.
LICENCE AND COPYRIGHT
Copyright (c) 2008, Goro Fuji <gfuji(at)cpan.org>. Some rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.