[Catalyst] overload/override sub? (Session::PerUser)
Ash Berlin
ash_cpan at firemirror.com
Mon Aug 6 21:42:28 GMT 2007
Fernan Aguero wrote:
> Hi,
>
> I'd like to overload (or would it be override?) the
> merge_session_to_user sub in
> Catalyst::Plugin::Session::PerUser to be able to guide the
> hash merge (i.e. create new hash value keys for conflicting
> keys).
>
> Now, where and how should I do the overriding? Excuse my ignorance
> ... but I've never done this and searching for 'Perl
> overload' always gets me to instructions on how to overload
> built-in operators ...
>
> Thanks in advance,
>
> Fernan
Redefine is the term in perl-lingua.
In MyApp.pm:
{
no warnings 'redefine';
sub merge_session_to_user {
# your new sub
# ...
# To call the previous implementation if you should want it:
# $self->NEXT::merge_session_to_user(@args);
}
}
The key thing to remember here is that all Cat plugins 'pollute' the $c
namespace, which isa Myapp.
HTH
Ash
More information about the Catalyst
mailing list