=over =item ${^OPEN} X<${^OPEN}> An internal variable used by L. A string in two parts, separated by a C<\0> byte, the first part describes the input layers, the second part describes the output layers. This is the mechanism that applies the lexical effects of the L pragma, and the main program scope effects of the C or C options for the L<-C command-line switch|perlrun/-C [Ilist>]> and L. The functions C, C, C, C (as well as the related C and C<`STRING`> operators), C, C, and C are affected by the lexical value of this variable. The implicit L handle opened by C (or the related C<< <> >> (diamond) and C<<< <<>> >>> (double diamond) operators) on passed filenames is also affected (but not if it opens C). If this variable is not set, these functions will set the default layers as described in L. C ignores this variable (and the default layers) when called with 3 arguments and explicit layers are specified. Indirect calls to these functions via modules like L are not affected as they occur in a different lexical scope. Directory handles such as opened by C are not currently affected. This variable was added in Perl v5.8.0. =back