in reply to setting multidimensional array values
ar_init() returns an arrayref, as parameters it takes the dimensions followed by the initial value. So e.g. if you want an array with three dimensions of ten elements, each containing 'foo', you'd use ar_init(10,10,10,'foo').sub ar_init { (defined $_[1]) ? [ map { ar_init(@_) } (1..shift()) ] : shift() ; } my $r_array = ar_init(3,3,'-');
But I'll be the first to admit that it might be clearer for future maintainers if you just use for loops!
Andy.
update: tiny simplification
|
|---|