in reply to trap error from parsexlsx
G'day gauss76,
Your problem starts with the first line of code you posted:
$FileToOpen=myfile.xlsx;
It seems to work as is:
$ perl -e '$FileToOpen=myfile.xlsx;' $
But when I ask Perl to warn about problems:
$ perl -we '$FileToOpen=myfile.xlsx;' Unquoted string "myfile" may clash with future reserved word at -e lin +e 1. Unquoted string "xlsx" may clash with future reserved word at -e line +1. Name "main::FileToOpen" used only once: possible typo at -e line 1.
If I use strict:
$ perl -Mstrict -e '$FileToOpen=myfile.xlsx;' Global symbol "$FileToOpen" requires explicit package name (did you fo +rget to declare "my $FileToOpen"?) at -e line 1. Bareword "myfile" not allowed while "strict subs" in use at -e line 1. Bareword "xlsx" not allowed while "strict subs" in use at -e line 1. Execution of -e aborted due to compilation errors.
If I ask Perl how it sees that code:
$ perl -MO=Deparse -e '$FileToOpen=myfile.xlsx;' $FileToOpen = 'myfilexlsx'; -e syntax OK
[Hint: See the concatenation operator in "perlop: Additive Operators".]
Add these lines to the start of your code:
use strict; use warnings;
Then fix all the code such that you no longer get any error or warning messages.
Use the strict and warnings pragmata in all of your code!
— Ken
|
|---|