use strict; use warnings; my @corners; $|++; #get correct order of print and die (STDOUT STDERR) while(){ $_=~ s/\s+/ / ; chop $_; push @corners, $_ ; print "\n@corners\n"; } my $corner; foreach(@corners){ $corner=$_; &loading_tsc; } sub loading_tsc{ print "DEBUG: loading_tsc received '@_'"; chdir($corner) or die "\n $!\n"; print "\n"; print `pwd`; print "\n"; } __DATA__ AAA BBB CCC DDD