__END__ # ml (Make Lazy) takes a reference to a subroutine as it's 1st arg. All # remaining args are saved and used as arguments for the subroutine when # the results of execution are desired. returns a subroutine that behaves # almost exactly as if the subroutine had been called when ml was called. sub ml { my $sub = shift; my @args = @_; return sub { return $sub->( @args ); }; }