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 l +ine 11. print() on unopened filehandle STRM_ALLDevices at foo.pl line 11. . print() on unopened filehandle STRM_ALLDevices at foo.pl line 11. ...
The reason is that you open STRM_AllDevices but write to STRM_ALLDevices, which has a different capitalization and is thus considered to be something else.
To avoid such problems in future, use the pragmas strict and warnings and use lexical variables for your file handles.
Example:
use warnings; use strict; my $AllDevices='All_Devices.txt'; my $_AllConfDir = '.'; # Listing the devices opendir (my $dir ,$_AllConfDir) or die "Error in opening dir $_AllConf +Dir\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 $!;
Update: added tidied example
In reply to Re: Unable to write to log-file
by moritz
in thread Unable to write to log-file
by turbokwak
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |