#!/usr/bin/perl
use strict;
foreach (@ARGV) {
print "Staring: NOTEPAD $_\n";
system ("start notepad $_")
}
{C} > test \AUTOEXEC.BAT "\Documents and Settings\601404184\My Documents\mcafee.txt" test.pl
Staring: NOTEPAD \AUTOEXEC.BAT
Staring: NOTEPAD \Documents and Settings\601404184\My Documents\mcafee.txt
Staring: NOTEPAD test.pl
{C} >
NOTE: That's the output you see in CMD.EXE window. Also, three instances of NOTEPAD.EXE open, with each file in one of the Notepads.
Does that answer the question re: double-quotes for file names? The second argument had spaces and the first two had backslashes, also could be an issue, but handled fine. I understand slashes would be the other way on *nix path names and spaces would need to be escaped so I don't know how well this would work. Also, you wouldn't use "start" in the system() call; rather, an ampersand (&) to launch the program in the background perhaps? |