in reply to Closures question

A reference to an anonymous subroutine (which is part of what makes a closure a closure) is just like a normal reference. As btrott says, it can be stringified if you're not super careful.

Handle it just like you would a reference to a hash or to a scalar or to an array -- pass the scalar holding the reference around, and you'll be fine.

If you accidentally stringify it, you can generally do something like: my $sub = \&{ $stringified_sub_ref }; to get it back, but your sense of good taste and squeamishness might prevent that, along with strict.

I also generally call subrefs with merlyn's dereferencing arrow trick: $sub->();