Depending on the type of data you are working with, you might benefit from using
PDL. For numerical tasks I have found that it can be very fast and memory efficient.
Update: As requested below, let's say you want a 2D array. You can create a "piddle" (the PDL data structure) with a sequence of arbitraty length and two dimensions as simply as:
#!/usr/bin/perl
use strict;
use warnings;
use PDL;
my $sequence = pdl [0..20],[0..20];
print "$sequence\n";
***Outputs***
[
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]
]