perl -w $your_script.pl Name "main::ConfFile" used only once: possible typo at foo.pl line 16. Name "main::AllDevi" used only once: possible typo at foo.pl line 8. Name "main::STRM_ALLDevices" used only once: possible typo at foo.pl line 11. print() on unopened filehandle STRM_ALLDevices at foo.pl line 11. . print() on unopened filehandle STRM_ALLDevices at foo.pl line 11. ... #### use warnings; use strict; my $AllDevices='All_Devices.txt'; my $_AllConfDir = '.'; # Listing the devices opendir (my $dir ,$_AllConfDir) or die "Error in opening dir $_AllConfDir\n"; open my $a, ">>", $AllDevices or die "couldn't open file '$AllDevices for appending: $!"; while ( my $file = readdir($dir)) { print $a "$file\n"; print "$file\n"; } closedir $dir or warn $!; close $a or warn $!;