How can I monkey-patch an instance method in Perl?
I'm trying to monkey-patch (duck-punch :-) a LWP::UserAgent instance, like so: sub _user_agent_get_basic_credentials_patch { return ($username, $password); } my $agent = LWP::UserAgent->new(); $agent->get_basic_credentials = _user_agent_get_basic_credentials_patch; This isn't the right syntax -- it yields: Can't modify non-lvalue subroutine call at [module] line [lineno]. As I recall (from Programming Perl ), dispatch lookup is performed dynamically based on the blessed package ( ref($agent) , I believe), so I'm not sure how instance monkey patching would even work without affecting the