sub_to_receive('123', \&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, @args) = @_; $sub_to_run->(@args, "lalala"); }