1#!perl
2use strict;
3use warnings;
4
5sub zero
6{
7    one('I');
8}
9
10sub one
11{
12    my $num = shift;
13    two(($num) x 2);
14}
15
16sub two
17{
18    my ($a, $b) = @_;
19    three($a => is => $b);
20}
21
22sub three
23{
24    my $uno = shift;
25    my $dos = shift;
26    my $tres = shift;
27
28    four(
29        H  => 1,
30        He => 2,
31        Li => 3,
32        Be => 4,
33    );
34}
35
36sub four
37{
38    my %args = @_;
39
40    my $closure = sub {
41        my ($alpha, $beta, $gamma, $delta) = @_;
42        five($alpha + $beta + $gamma + $delta);
43    };
44    $closure->(sort values %args);
45}
46
47sub five
48{
49    die @_;
50}
51
52zero();
53
54