#!/usr/bin/perl @ini_array = getarr("1"); @final_array = (1); while (@ini_array) { @aux = (); push @final_array, @ini_array; map { push @aux, getarr($_) } @ini_array; @ini_array = @aux; } sub getarr { $fl = shift; @sublist=(); open(A,"$fl.txt") or die "Can't open $fl.txt"; while () { chomp; push @sublist, $_; } close A; return @sublist; } print "final: @final_array\n";