By default, running out of memory is an untrappable, fatal error. However, if suitably built, Perl can use the contents of $^M as an emergency memory pool after die()ing. Suppose that your Perl were compiled with -DPERL_EMERGENCY_SBRK and used Perl's malloc. Then

デフォルトでは、メモリ不足はトラップできない致命的エラーとなります。 しかし、もし適切に構築されていれば、Perl は $^M の中身を die() した後の緊急用メモリとして使えます。 Perl が -DPERL_EMERGENCY_SBRK 付きでコンパイルされ、 Perl の malloc を使うと仮定します。そして、

    $^M = 'a' x (1 << 16);

would allocate a 64K buffer for use in an emergency. See the INSTALL file in the Perl distribution for information on how to add custom C compilation flags when compiling perl. To discourage casual use of this advanced feature, there is no English long name for this variable.

とすると緊急用の 64K のバッファを割り当てます。 perl をコンパイルするときに独自の C コンパイルフラグを追加する 方法についての情報は、Perl 配布パッケージに含まれている INSTALL ファイルを参照して下さい。 この拡張機能を気軽に使えないようにするために、 この変数には English の長い名前はありません。

This variable was added in Perl 5.004.

この変数は Perl 5.004 で追加されました。