summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-08-18 19:01:22 -0500
committerJesse Luehrs <doy@tozt.net>2012-08-18 19:01:22 -0500
commit1e22f62b2c6bb17153f0524ea3a1b684346a8988 (patch)
treecd0f1f85b7e737df5eea19eebee67bc01584b2c4 /lib
parent6d034593a5f0b02eb9e5b7069fa86814aae07b7c (diff)
downloadfun-1e22f62b2c6bb17153f0524ea3a1b684346a8988.tar.gz
fun-1e22f62b2c6bb17153f0524ea3a1b684346a8988.zip
support anonymous functions
Diffstat (limited to 'lib')
-rw-r--r--lib/Fun.pm12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/Fun.pm b/lib/Fun.pm
index 188adfb..b4f1f7e 100644
--- a/lib/Fun.pm
+++ b/lib/Fun.pm
@@ -28,9 +28,15 @@ our @EXPORT = our @EXPORT_OK = ('fun');
sub fun {
my ($name, $code) = @_;
- my $caller = caller;
- no strict 'refs';
- *{ $caller . '::' . $name } = $code;
+
+ if (defined $name) {
+ my $caller = caller;
+ no strict 'refs';
+ *{ $caller . '::' . $name } = $code;
+ }
+ else {
+ return $code;
+ }
}
=head1 BUGS