On approximately 10/20/2004 7:26 PM, came the following characters from the keyboard of Sisyphus:

Glenn Linderman wrote:


There's not much more. GFfP.pm is just a placeholder for a bunch of XS code. Here is the module in its entirety (except for the leading comments).


package GFfP;

use strict;
use warnings;

require DynaLoader;

our $VERSION = '0.1';

our @ISA = qw( DynaLoader );

bootstrap GFfP $VERSION;

###############################################################################

# PUBLIC METHODS
# (@)PACKAGE:GFfP

###########################################################################

# (@)METHOD:Version()
# Returns the module version number.

sub Version
{ return $VERSION;
}



Beats me. If you think it's something in 'GFfp.pm' try switching to: $GFfp::VERSION = 0.1;

So I tried the following from the command line, and it worked as I expected the other to work...


D:\td>perl -Mwarnings -Mstrict -MGFfP -e "print qq{ver=$GFfP::VERSION -- }, $GFfP::VERSION + 0, ' -- ', $GFfP::VERSION >= 0.1999999"
ver=0.1 -- 0.1 --


My guess is that it's gotta be something in the script.

So I guess the above proves it is the script. But what, in about 1MB? Groan.


How can something that evaluates to '0.1' change to 0 in the next breath, and then change again (spontaneously) to something >=0.19999999999 (or whatever it was) in the following breath ???

Yes, in fact, that is very strange.... I had realized that the 2nd and 3rd parts were "unexpected" but not just how inconsistent they really were.


I think it would be true that because the VERSION is an "our" variable, that it is immune to any effects of closures, correct? And even if it weren't, it shouldn't have 3 different values in the same statement...

But!!! I found it!!!

D:\td>perl -Mwarnings -Mstrict -MGFfP -e "use integer; print qq{GFfP::VERSION=$GFfP::VERSION -- }, $GFfP::VERSION + 0, ' -- ', $GFfP::VERSION >= 0.1999999"
GFfP::VERSION=0.1 -- 0 -- 1


I forgot that my test was in the scope of a "use integer;" directive.

I did toy with the notion that your '--' in the print command might have somehow been interpretted as the decrementation operator .... but that notion is just plain silly .... it doesn't even fit very well with any of the facts.

I give up :-)

Never give up! There is always a logical explanation.

--
Glenn -- http://nevcal.com/
===========================
The best part about procrastination is that you are never bored,
because you have all kinds of things that you should be doing.
_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to