in reply to Re: Re: Ambiguous use of X resolved to Y
in thread Ambiguous use of X resolved to Y

That could happen if the function didn't already exist before you took a reference from it. Be sure to have loaded the code for that function before you run that snippet. Consider also checking for recursion:
my $old = \&Pod::HTML::scan_podpath; { local $^W; *Pod::HTML::scan_podpath = sub { if ( $old == \&Pod::HTML::scan_podpath ) { croak "..."; } &{$old}( @_ ); }; }