http://www.perlmonks.org?node_id=938771


in reply to Re: Perl/Tk System Function Error
in thread Perl/Tk System Function Error

removing the double-quotes makes it run [...] Not sure why

Simple: The first argument of the start command, when put in double quotes, is taken as the requested window title. If you need to quote the command to be started, you also need to provide a dummy window title, i.e.:

system('start "" "C:\\program files\\my application\\kaboom.exe" /foo +/bar');

Also note that system() has a special case on Windows to run a program (with arguments) without waiting for it, and without having to mess with any shell or the braindead start program. This is documented in perlport:

system(1,'C:\\program files\\my application\\kaboom.exe','/foo','/bar' +); # ^-- the 1 is the special case for Windows

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)