in reply to how to force a stack trace

Is this package somehow defeating perl's normal error-reporting mechanisms?

No, the messages are warnings, not errors (i.e. exceptions). They appear because Math::Complex invokes the warnings pragma on line 73 of the source code (version 1.59).

Carp::Always will display the line number you are seeking. But it won’t produce a stack trace, because no exception is thrown:

3:06 >perl 573_SoPW.pl Use of uninitialized value $z2 in multiplication (*) at C:\Perl\lib\pe +rl5/Math/Complex.pm line 489. Math::Complex::_multiply('Math::Complex=HASH(0x186e5e4)', unde +f, '') called at 573_SoPW.pl line 5 Use of uninitialized value $z2 in multiplication (*) at C:\Perl\lib\pe +rl5/Math/Complex.pm line 489. Math::Complex::_multiply('Math::Complex=HASH(0x186e5e4)', unde +f, '') called at 573_SoPW.pl line 5 0 3:06 >

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,