use warnings; use strict; ### Make up some numbers :) my ($week, $date) = qw/36 250/; my @regs = qw(LAR30 TYE68 SOK96); ### Interpolate the directory lists @dirs = map { "../ALL_WEEKS/semaine_$week/semaine_${week}_TACOT/day_$date/r_$date/$_" } @regs; ### Now that we have our list of directories, process them find(\&process, @dirs); sub process { ### Do stuff to the files returned by File::Find (represented by '$_') print "File name: $_\n"; }