my @months = qw( January February March April May June July October November December ); # passing 4 for April, I should get "February March April", instead I get: "March April May". f(4); sub f { my $i = shift; print join(',', @months[$i-2, $i-1, $i]), "\n"; }