in reply to Re^4: Howto "use" backward compability packages of new "feature"s
in thread Howto "use" backward compability packages of new "feature"s

just found an "if pragma" which could be used for backwards compatibility!
Ah, but if.pm has backwards compatability issues itself - it first appeared in 5.6.2 Here's what I use if I want to use warnings, but still want the code to be able to run in 5.005 (without warnings enabled of course):
BEGIN { $INC{"warnings.pm"} = 1 if $] < 5.006; } use strict; use warnings;
Note that if you want to be able to do no warnings, you have to create a dummy sub warnings::unimport as well.

I've no reason to assume if.pm cannot be installed in 5.005. I just don't want another module dependency for what I can do in a single statement myself.

Replies are listed 'Best First'.
Re^6: Howto "use" backward compability packages of new "feature"s
by LanX (Saint) on Aug 25, 2010 at 11:19 UTC
    Thanx, very interesting. :)

    I'm quite enthusiastic about requiring and importing pragmas in a separate module like demonstrated in this example of use stricter

    Could you do me a favor and test it in your suite of old perl interpreters?

    I'm still not completely convinced...

    Cheers Rolf