http://qs321.pair.com?node_id=408996


in reply to conditional enable use bytes for a whole module at compiletime?

I think you can say

BEGIN { package Y; $VERSION = 0.1; 1; package X; if ( $Y::VERSION < 1 ) { # How to enable use bytes for the whole modue X? # with condition $Y::VERSION in mind? ## Not use()'d anymore. # use bytes; require bytes; }

And this will do what you mean.

Note: this is untested code, as always.

Replies are listed 'Best First'.
Re^2: conditional enable use bytes for a whole module at compiletime?
by borisz (Canon) on Nov 19, 2004 at 14:01 UTC
    Hi, no, you think, that my desire is to load the module on a condition, this is not true. I like to enable it on a condition in another scope. For example, this works fine, but I want use bytes only if $Y::VERSION  < 1.
    BEGIN { package Y; $VERSION = 0.1; 1; package X; use bytes; sub l{ return length shift } 1; } package main; no bytes; $x = chr(3456); print X::l($x);
    Boris