Perl Style: Closures
Clone similar functions using closures.
# from MxScreen in TSA no strict 'refs'; for my $color (qw[red yellow orange green blue purple violet]) { *$color = sub { qq<<FONT COLOR="\U$color\E">@_</FONT>> }; } undef &yellow; # lint happiness *yellow = \&purple; # function aliasing
Or similarly:
# from psgrep (in TSA, or PCB 1.18) my %fields; my @fieldnames = qw(FLAGS UID PID PPID PRI NICE SIZE RSS WCHAN STAT TTY TIME COMMAND); for my $name (@fieldnames) { no strict 'refs'; *$name = *{lc $name} = sub () { $fields{$name} }; }
Forward to Learn to Switch with for
Back to Functions as Data
Up to index
Copyright © 1998, Tom Christiansen All rights reserved.
Tags
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub