B::ConstOptree(3pm)

B::ConstOptree3pm

Optree constant folding for $^o, $^v, and $]

Usage

 $ perl -MO=ConstOptree -MO=Deparse} -e \
        'require ($^O eq "MSWin32" ? "Win32.pm" : "POSIX.pm")'
 require 'POSIX.pm';
 -e syntax OK

Overview

This module propagates constant folding for $^O, $^V, and $] variables by installing custom PL_check handlers for numeric and string comparison opcodes. In the handlers, references to $^O, $^V, and $] arguments are replaced with constant terms like "linux", v5.16.1, and 5.016001, respectively.

Caveats

Since regexp matching is not subject to constant folding, expressions like "$^O =~ /win32/i" will not be reduced.

Copying

Copyright (c) 2012 Alexey Tourbin

This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Releases

6 releases since Debian 8 (Jessie); the text changed 5 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13

Author

Written by Alexey Tourbin <[email protected]>.

From libb-perlreq-perl 0.82-8+b4 in Debian 13 (Trixie). Parsed by carta from the page's man source.