foreach my $filename( @files ){ my $file = "text_000".$variable."."."lab"; my $outfile = "$outdirname/"."$file"; open my $output,'>',$outfile or die "Can't open the output file: $!"; ## updated open my $fh,'<',$filename or die "can't open file: $!"; ## added print "file: $file\n"; while ( my $line = <$fh> ) { $line =~ s/^\s+//; $line =~ s/ +/ /g; $line =~ s/\s+$/\n/g; print $output $line; } close $fh or die "can't close file: $!"; ## added close $output or die "can't close file: $!"; ## updated $variable++; }