in reply to Re^4: Library problems with XML::Compile::WSDL11 and Math::BigInt
in thread Library problems with XML::Compile::WSDL11 and Math::BigInt

Do you change $SIG{__DIE__}, by any chance? A buggy $SIG{__DIE__} handler could explain the output.

I wish you had given a minimal, runnable demonstration of the problem. You're having us make assumptions as to what's what you didn't show.

I guess you'll have to trace through to find the problem. Carp::Always might prove to be a shortcut (although I'm not sure how it behaves with eval). It surely won't work if you change $SIG{__DIE__}.

Replies are listed 'Best First'.
Re^6: Library problems with XML::Compile::WSDL11 and Math::BigInt
by space_monk (Chaplain) on Jan 07, 2011 at 10:44 UTC
    Thanks for your help on this.
    It looks to be some sort of problem with the Math::BigInt module, the WSDL11 module simply required it. I can get the versions of the modules out with the code
    XML::Compile 1.21 XML::Compile::WSDL11 2.21 Math::BigInt 1.99 Math::BigInt::FastCalc 0.24
    No change to $SIG{__DIE__} AFAIK, but this module is run on a fork from the main process.
    Given that it appears to be Math::BigInt causing the issue, I'll see if I can put a small program on here which shows the problem

      Solution

      Some muppet working on our joint project had put
      $"='/';
      in a package used before this one. Changing the array field separator somehow upsets the use of Math::BigInt. Any explanations as to why are welcome.

        Any explanations as to why are welcome.

        Just look at the line I posted.

        eval "use $lib qw/@c/;";

        What do you think happens if you change $"?