qx quotes its argument (similar to a double-quoted string, only that the string is executed afterwards. Hence the here document is not interpreted by Perl.
Maybe you intended to have the HERE document being interpreted by the shell, but this doesn't work either, because passing a multi-line string to qx does not cause the shell to execute a multi-line script. Here a simple example from the command line (I'm using Windows for this, but the same applies to Linux etc):
As you can see, the shell is not executing two echo commands, but only one. If you want to execute multi-line shell commands, I suggest you create a temporary file (File::Temp), write the shell script into it, and execute it.C:\>perl -lwe "my $x=qx(echo a\necho b); print $x" a echo b
In reply to Re: EOF problem with sqlplus on Windows
by rovf
in thread EOF problem with sqlplus on Windows
by theophanie77
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |