http://qs1969.pair.com?node_id=514995


in reply to Re: using pipes in a system() call
in thread using pipes in a system() call

Great idea, then he'll have two copies of the same string which can very easily get out of sync with each other leading to even more fun to track down bugs when it starts printing one thing and executing another!

(This is why several people have recommended building the command in a scalar and print the scalar before passing it to system; change it once change it everywhere).

Replies are listed 'Best First'.
Re^3: using pipes in a system() call
by swkronenfeld (Hermit) on Dec 07, 2005 at 19:41 UTC
    Valid point Fletch.

    I wrote it the way I did because I was thinking of a short-term debugging effort, where the OP would erase the line after seeing what it expanded to. When passing shorter length system calls (and this applies to other functions as well), I prefer to have the command written inside the call, rather than forcing my brain to stop reading along with the flow of the program and backtrack to the $command variable definition.

    Regardless, not knowing how the OP would be using our advice though, I should not have posted like this.

      Yeah, not that I'm saying I haven't done just that myself before (and still do if it's really an emergency; then I get bitten and go back and wind up doing it the right way when I'm tracking down the bugs that caused . . . :).