Man pages sections > man3 > B::ConstOptree

B::ConstOptree - Optree constant folding for $^O, $^V, and $]

ConstOptree(3pm) User Contributed Perl Documentation ConstOptree(3pm)


B::ConstOptree - Optree constant folding for $^O, $^V, and $]


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


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.


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


Written by Alexey Tourbin <>.


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.
2017-07-22 perl v5.26.0