#!/usr/bin/perl use v5.22; use warnings FATAL => qw(all); use strict; use Data::Dump qw(dump); my @n = 1..2; sub load {return my @a unless @n; push @a, @n; @a } say "$_ ", dump([load()]) for 1..10; =pod 1 [1, 2] 2 [1, 2, 1, 2] 3 [1, 2, 1, 2, 1, 2] 4 [1, 2, 1, 2, 1, 2, 1, 2] 5 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2] 6 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2] 7 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2] 8 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2] 9 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2] 10 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2] This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi =cut