would it help if I add 'no integer;' at the beginning of the program?
I generally would not recommend making random changes - I would always rather actually understand the root cause of the problem first. You can at least do tests on your own system to see if, for example, setting environment variables allows you to replicate the behaviour that the user has reported.
I misspoke in my previous message: the environment variable I was thinking of is actually PERL5OPT. So here I see, for example:
% perl -wle 'print 3.9 * 3.9'
15.21
% export PERL5OPT='-Minteger'
% perl -wle 'print 3.9 * 3.9'
9
% export PERL5OPT='-Mbigint'
zen2% perl -wle 'print 3.9 * 3.9'
9
% export PERL5OPT=''
% perl -wle 'print 3.9 * 3.9'
15.21
%
If such tests give behaviour that matches what your user reports, then it would be reasonable a) to report the contents of that environment variable at startup, and optionally b) to clear it. But don't get me wrong - I don't think it is highly likely that a strange setting of PERL5OPT is the cause, it's just one of the few things I can think of that could affect something as fundamental as Perl's arithmetic if the perl build is otherwise functional.
I don't have a Mac, but I think it is relatively unlikely that there is so fundamental a problem on all Macs of this sort; it is more likely something specific to the environment (in the general sense) of this user's system. |