Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re^9: Running perl from java

by ELISHEVA (Prior)
on Jan 09, 2011 at 15:43 UTC ( #881360=note: print w/replies, xml ) Need Help??

in reply to Re^8: Running perl from java
in thread Running perl from java

Anonymous monk seems to be spot on about this being a command line argument problem, though it extends beyond just quoting. One of the links above discusses how on MsWin platforms Java takes all of the elements of String[] args and concatinates them into a single string before passing them onto the exe file. It is then up to the exe to decide how it wants to split that single string back into arguments. See (this is one of the links in a reply above, but I thought I'd make it more explicit).

This is going to make it quite difficult to pass one liners to perl via -e. As a work around, if you are dead set on running short sequences of Perl commands without a script, you could have a script whose sole purpose was to take arguments and combine them into valid Perl code. The following script takes raw command line arguments and assumes that they are Perl tokens. Also if you continue to have problems with quote characters you can use qq{....} instead of double quote characters.

# put shebang needed for system here, i.e. call to ratlperl use strict; use warnings; # assume each command line argument is a Perl token eval join(' ', @ARGV);

If the above script was called "", then you would call cqperl  print qq{Hello World\\n}. Even if this is broken into arguments at every whitespace, it will still recombine into a valid command by the time it gets passed to eval

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://881360]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2016-09-26 00:23 GMT
Find Nodes?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:

    Results (474 votes). Check out past polls.