package Curryable; sub curry { my ($self, $method_name, @args) = @_; my $method = $self->can($method_name) || die "No $method_name method found"; return sub { $self->$method(@args, @_) }; } #### my $handler = MIS_SAX_Parser->new($cb->curry('printit')); #### sub rcurry { my ($self, $method_name, @args) = @_; my $method = $self->can($method_name) || die "No $method_name method found"; return sub { $self->$method(@_, @args) }; }