http://qs321.pair.com?node_id=93585


in reply to how do i add a switch to executable

Well, assuming that you are still looking to use the 'system' function that we talked about yesterday, you would simply do:
my @args = ("deltree", "/y", 'c:\pathname') system(@args) == 0 or die "system @args failed: $?";
However, since you did ask about a very similar question yesterday, you really should get into the habit of reading the documentation. Perl comes with a lot of good docs, and they're also available on the web. Looking up the system command in the documentation willl yield all this and more. But of course, if you ever have trouble understanding anything you read, or aren't sure where to look, by all means ask. Good luck!
-Eric

Update: With tachyon's suggestion, I changed the quotes in the @arg variable for the pathname from double to single quotes, to keep \p from interpolating into something interesting that we don't really want :-) Thanks, tachyon++

Replies are listed 'Best First'.
Re: Re: how do i add a switch to executable
by tachyon (Chancellor) on Jul 03, 2001 at 21:37 UTC

    You probably want to change the double quotes around "c:\pathname" to single quotes 'c:\pathname' to supress interpolation of the \p. You can also call programs using backtics for example:

    $flg = "/?"; $dir =`dir c: $flg`; print $dir;

    You will note that the help flag /? has been interpolated into the backtics so that the command executed is the same as:

    C:\>dir c: /?

    The output is captured into $dir which we then print. As a general rule it is much better (read more secure, more reliable, more portable, perhaps faster) to use inbuilt perl functions than backtics or system.

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n\w+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print