Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Query on Perl system command

by Anonymous Monk
on Mar 04, 2011 at 14:22 UTC ( #891457=note: print w/replies, xml ) Need Help??


in reply to Re: Query on Perl system command
in thread Query on Perl system command

Thanks Philip Bailey.

I put up a simplified script in my query, but the actual script is different. It is given below. (Description of this script is in Re^4 above)

As suggested by you, I modified script

system 'echo "4\n6\n3\n5\n\n1\n$filename.fsmi\n5\n$filename.phb\n111\n +1000\n4\n$filename.ph\n$filename.dst\n\n2\n" | phylip';

with

system "echo -e \"4\\n6\\n3\\n5\\n\\n1\\n\"$filename.fsmi\"\\n5\\n\"$f +ilename.phb\"\\n111\\n1000\\n4\\n\"$filename.ph\"\\n\"$filename.dst\" +\\n\\nx\\n\" | phylip" ;

I did not get any error message, but, none of the choices are recognized

I appreciate your help, thank you

Replies are listed 'Best First'.
Re^3: Query on Perl system command
by Eliya (Vicar) on Mar 04, 2011 at 15:48 UTC

    Have you also tried without the -e option?  Not all echos require that option, and in the other thread it looks like your echo doesn't.

    Another approach would be to do away with system, echo, quoting issues, etc. and use open to open a pipe to phylip, into which you then just print the required input, including newlines.  For example:

    open my $pipe, "| phylip" or die $!; print $pipe <<"EOI"; 4 6 3 5 1 $filename.fsmi 5 $filename.phb 111 1000 4 $filename.ph $filename.dst x EOI close $pipe;

    A positive side effect is that the sequence of things you have to enter becomes much better to read.

    (Note that the heredoc, as shown, is interpolating $filename (like a double-quoted string). )

      Thank you Eliya :-)

      Yes, you are right, open command is much easier to read and it works perfectly well.

      Chak

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://891457]
help
Chatterbox?
[Discipulus]: me waterpolo? oh no! i'm a no sport; the tournment was for the elder son
[karlgoethebier]: good morning
[Corion]: Discipulus: Ah, so he's the one getting almost drowned all the time - waterpolo certainly is no sport for me ;)
[karlgoethebier]: Corion: buy enough coke and popcorn...
[marto]: Corion the cinema is a lot more expensive than I remember :P
Discipulus hates the smell of popcorn at cinemas..
[Corion]: marto: Yeah, most of the time, I prefer to watch stuff at home, where we can sit on the couch, order pizza and pause the movie. But for kids,...
[Corion]: ... I think the "cinema experience" is something of its own. But certainly, bringing an USB stick home is much easier ;-D

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2017-07-24 08:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I came, I saw, I ...
























    Results (348 votes). Check out past polls.