in reply to Start tag expected
use warnings;
With warnings turned on, perl will tell you there are syntax errors.
Here is a stripped version of your code:
use strict; use warnings; my $file = (<DATA>); Data___ <?xml version="1.0"?> <opt> <node> <val>1</val> </node> <node> <val>2</val> </node> <node> <val>3</val> </node> </opt>
Here is the warings:
Number found where operator expected at c.pl line 12, near "<val>1" (Missing operator before 1?) Bareword found where operator expected at c.pl line 13, near "</node" (Might be a runaway multi-line // string starting on line 12) (Missing operator before node?) Bareword found where operator expected at c.pl line 16, near "</node" (Might be a runaway multi-line // string starting on line 15) (Missing operator before node?) Bareword found where operator expected at c.pl line 19, near "</node" (Might be a runaway multi-line // string starting on line 18) (Missing operator before node?) syntax error at c.pl line 8, near "?xml version="1.0"?>" Execution of c.pl aborted due to compilation errors.
use __DATA__, then the warnings go away.
|
|---|