Re: Accessing coderefs
Bruno Postle <[email protected]> Thu, 23 Mar 2006 17:25:37 +0000
| Newsgroups | gmane.comp.lang.perl.modules.petal |
|---|---|
| Message-ID | <[email protected]> |
On Mon 20-Mar-2006 at 09:09 -0500, Peter Rabbitson wrote:
>
> Petal gives me no problems if I am to use object/method and supply
> parameters. In my case it is very problematic to supply an object to
> process(), so I was wondering if there is a way to call a coderef.
No, it seems that Petal explicitly stops you passing parameters to
anything that isn't an object.
The following patch seems to make this work, though it hasn't had
any thorough testing. Can you try it out?
Index: lib/Petal/Hash/Var.pm
===================================================================
RCS file: /var/spool/cvs/Petal/lib/Petal/Hash/Var.pm,v
retrieving revision 1.17
diff -r1.17 Var.pm
98a99,100
> unless (isa $current->{$next}, 'CODE')
> {
100a103
> }
130c133
< $current = (isa ($current, 'CODE')) ? $current->() : $current;
---
> $current = (isa ($current, 'CODE')) ? $current->(@args) : $current;