The Windows shell does not understand here-documents1. You will need to either pass in a single line or open a double pipe using IO::Open2 (or IO::Open3) to isql. My approach (when I can't use DBD::ODBC or DBD::Oracle) is to write the SQL to a tempfile and then launch sqlplus <$tempfile. I recommend using DBD::ODBC instead, if you can't install other modules - DBD::ODBC comes included with ActiveState Perl and Strawberry Perl.
Updated: Here-documents are not the problem, but the Windows shell (cmd.exe) and CreateProcess don't know and don't handle newlines in the arguments.
1 That is not related to the problem.
In reply to Re: EOF problem with sqlplus on Windows
by Corion
in thread EOF problem with sqlplus on Windows
by theophanie77
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |