Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | package PerlIO::scalar; |
2 | our $VERSION = '0.04'; | |
3 | use XSLoader (); | |
4 | XSLoader::load 'PerlIO::scalar'; | |
5 | 1; | |
6 | __END__ | |
7 | ||
8 | =head1 NAME | |
9 | ||
10 | PerlIO::scalar - in-memory IO, scalar IO | |
11 | ||
12 | =head1 SYNOPSIS | |
13 | ||
14 | my $scalar = ''; | |
15 | ... | |
16 | open my $fh, "<", \$scalar or die; | |
17 | open my $fh, ">", \$scalar or die; | |
18 | open my $fh, ">>", \$scalar or die; | |
19 | ||
20 | or | |
21 | ||
22 | my $scalar = ''; | |
23 | ... | |
24 | open my $fh, "<:scalar", \$scalar or die; | |
25 | open my $fh, ">:scalar", \$scalar or die; | |
26 | open my $fh, ">>:scalar", \$scalar or die; | |
27 | ||
28 | =head1 DESCRIPTION | |
29 | ||
30 | A filehandle is opened but the file operations are performed "in-memory" | |
31 | on a scalar variable. All the normal file operations can be performed | |
32 | on the handle. The scalar is considered a stream of bytes. Currently | |
33 | fileno($fh) returns C<undef>. | |
34 | ||
35 | =head1 IMPLEMENTATION NOTE | |
36 | ||
37 | C<PerlIO::scalar> only exists to use XSLoader to load C code that | |
38 | provides support for treating a scalar as an "in memory" file. | |
39 | One does not need to explicitly C<use PerlIO::scalar>. | |
40 | ||
41 | =cut |