[Catalyst] Operation "eq": no method found, ... Dispatcher.pm line 377

Michael Reece mreece at vinq.com
Mon Jan 22 19:16:53 GMT 2007


i am getting intermittent errors (under mod_perl; Catalyst version  
5.7003) from $c->dispatcher->uri_for_action:

Operation "eq": no method found, left argument in overloaded package  
URI::_generic, right argument has no overloaded magic at /usr/local/ 
lib/perl5/site_perl/5.8.8/Catalyst/Dispatcher.pm line 377

sub uri_for_action {
     my ( $self, $action, $captures) = @_;
     $captures ||= [];
     foreach my $dispatch_type ( @{ $self->dispatch_types } ) {
         my $uri = $dispatch_type->uri_for_action( $action, $captures );
         return( $uri eq '' ? '/' : $uri )	# line 377
             if defined($uri);
     }
     return undef;
}


i am calling $c->dispatcher->uri_for_action like so:

     my $action = $c->dispatcher->get_action_by_path($path);
     unless ($action) {
         $c->log->error("uri_to cannot get_action_by_path($path)");
         return undef;
     }

     my @action_args = (defined $snippets) ? @$snippets : ();
     my $uri = $c->dispatcher->uri_for_action($action, @action_args);
     unless ($uri) {
         $c->log->error("uri_to cannot find uri_for_action $action");
         return undef;
     }


any ideas?

---
michael reece :: software engineer :: mreece at vinq.com





More information about the Catalyst mailing list