in reply to Subroutine Return Problem

Arrays in list content get treated as one list. You should return list references instead:

return (\@direc_temp,\@files_temp,\@dest_temp);

And then either dereference them or access them as references at the other end of the return.

See perldoc perlreftut for more.