in reply to Re^4: PDL and srand puzzle
in thread PDL and srand puzzle

If you declare a sub foo() in your perl code, and core::foo already exists, you will get a warning "Ambiguous call ....

Yes - but only if there's a call to foo() made after that declaration of sub foo().
At least, that's what I'm seeing on perl-5.38.0:
D:\>perl -wle "sub sqrt {return sprintf '%.4g', $_[0] ** 0.5}" D:\>perl -wle "print sqrt(3); sub sqrt {return sprintf '%.4g', $_[0] * +* 0.5};" 1.73205080756888 D:\>perl -wle "print sqrt(3); sub sqrt {return sprintf '%.4g', $_[0] * +* 0.5}; print sqrt(2);" Ambiguous call resolved as CORE::sqrt(), qualify as such or use & at - +e line 1. 1.73205080756888 1.4142135623731
Cheers,
Rob