[Israel.pm] Selective warnings use
Madani, Srikanth, VF-DE
Srikanth.Madani at vodafone.com
Wed Feb 9 05:55:12 PST 2005
Thanks for the reply, Shlomo.
Direct use of the $] variable isn't possible because of different
floating point implementations (as the documentation is kind enough to
state.)
But then I tried the suggested:
printf "version is v%vd\n", $^V;
which works fine on Linux/Perl 5.8.
The same code fails on Solaris/Perl 5.005_03. (which, I just found out,
is actually v5.5! - see
http://search.cpan.org/~jpeacock/version-0.42/lib/version.pm)
Invalid conversion in printf: "%v" at ./war.pl line 5 (#1)
(W) Perl does not understand the given format conversion.
See perlfunc/sprintf.
As lower versions of Perl don't support the so called vector flag in
sprintf, it's a bit of a Catch22 situation!
So, I guess the solution is to:
A) Always use the "-w" switch.
B) While running on a version which supports the warnings pragma, use it
- this disables the effects of the global "-w" switch.
C) Else, remove the statement "use warnings;" from your code.
Reference link:
http://search.cpan.org/~nwclark/perl-5.8.6/pod/perllexwarn.pod - section
on "Backward compatibility"
Cheers,
Srikanth Madani
More information about the Perl
mailing list