# PerlIO::scalar - man - phpman

## NAME
    [PerlIO::scalar](https://www.chedong.com/phpMan.php/perldoc/PerlIO%3A%3Ascalar/markdown) - in-memory IO, scalar IO

## SYNOPSIS
       my $scalar = '';
       ...
       open my $fh, "<",  \$scalar or die;
       open my $fh, ">",  \$scalar or die;
       open my $fh, ">>", \$scalar or die;

    or

       my $scalar = '';
       ...
       open my $fh, "<:scalar",  \$scalar or die;
       open my $fh, ">:scalar",  \$scalar or die;
       open my $fh, ">>:scalar", \$scalar or die;

## DESCRIPTION
    A filehandle is opened but the file operations are performed "in-memory" on a scalar variable.
    All the normal file operations can be performed on the handle. The scalar is considered a stream
    of bytes. Currently fileno($fh) returns -1.

    Attempting to open a read-only scalar for writing will fail, and if warnings are enabled,
    produce a warning.

## IMPLEMENTATION NOTE
    "[PerlIO::scalar](https://www.chedong.com/phpMan.php/perldoc/PerlIO%3A%3Ascalar/markdown)" only exists to use XSLoader to load C code that provides support for treating a
    scalar as an "in memory" file. One does not need to explicitly "use [PerlIO::scalar](https://www.chedong.com/phpMan.php/perldoc/PerlIO%3A%3Ascalar/markdown)".

