sub curried {
my @args = @_;
sub { print(@args,@_); };
}
$sub = curried("xyz");
$sub->(abc);
####
{
my $mysub = \&mysub;
*mysub = sub { $mysub->('xyz', @_) };
}
####
#! /usr/bin/perl -w
use strict;
sub_to_receive('123', curried(\&sub_to_be_passed,'xyz'));
sub sub_to_be_passed {
my ($one) = shift;
my ($two) = shift;
print "One: $one\n";
print "Two: $two\n";
}
sub sub_to_receive {
my ($x, $sub_to_run) = @_;
$sub_to_run->("lalala");
}
sub curried {
my ($func,@args) = @_;
sub {
push @args, @_;
$func->(@args);
}
}