in reply to Re^2: Opening a text file in its native application
in thread Opening a text file in its native application

sk hit the nail on the head. The start command appears to have problems with paths that contain spaces, even if you quote them. However, I have found that it you quote the individual element of the path that contains the space, it then works.

So, for the path c:\program files\junk.txt, if you issue the command

system 'start', '"c:\program files\junk.txt"';

it fails, but if you issue the command

system 'start', 'C:\"program files"\junk.txt';

It succeeds. So you would need to modify your quoting mechanism to be something like this (untested):

sub logfile{ my $file = "$gGui{complogpath}/$gGui{complog}.txt"; my @args = ("start",$file); for (@args) { s[ ( [\\/] ) ## A path delimiter ( [^\\/]* \s [\\/]* ) ## Two or more non delimiters ## including a space ( [\\/] ) ## Another delimiter ][$1"$2"$3]gx; ## Quote the path element }; system(@args) == 0 or warn "Couldn't launch '$file' : $!/$?/$^E"; }#logfile

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.