---
name: "PerlIO::scalar"
section: "3p"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/PerlIO::scalar"
---

# PerlIO::scalar(3p)

in-memory IO, scalar IO

## NAME

PerlIO::scalar - 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"` only exists as a stub. One does not need to explicitly `"use PerlIO::scalar"`.
