#!/usr/local/bin/perl use strict; use warnings; use Data::Dumper; my @array1 = (['A', 'B'], 1, 2, 3, ['One', 'Two', 'Three', ['I', 'II', 'III'], 'Four'], 4); print Dumper (\@array1); recReverse (\@array1); print "\n===============Reversed================\n"; print Dumper (\@array1); my $count = 0; sub recReverse { my $ref2array = shift; if (ref $ref2array eq 'ARRAY') { my @newarray = reverse (@$ref2array); @$ref2array = @newarray; for my $item (@{$ref2array}) { recReverse($item); } } }