#!/usr/bin/perl use strict; use warnings; sub multiply($$) { (pop)*(pop) } print multiply 4, 5; print "\n"; sub to ($) { (shift) } # just syntactic sugar sub on ($) { (shift) } # also syntactic sugar sub add { # currying my $op = shift; return sub { (shift) + $op } } print add(5)->(on add(3)->(to 4));