Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^3: Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail

by BillKSmith (Monsignor)
on Sep 13, 2020 at 13:19 UTC ( [id://11121688]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail
in thread Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail

The windows shell requires double quotes around paths which contain spaces. This is true even if the shell is called from perl. The OP's syntax is correct in this case. Ten years ago, I could not figure that out so I devised a "workaround" (shown as a comment below). The "8dot3" names do not contain spaces so they do not need the extra quotes. Although I do not recommend it, it still works on my Windows 7.
use strict; use warnings; my $browser = 'C:\Program Files\Internet Explorer\iexplore.exe'; $browser = '"' . $browser . '"'; #my $browser = 'C:\PROGRA~1\INTERN~1\iexplore.exe'; #workaround exec $browser;
Bill
  • Comment on Re^3: Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail
  • Download Code

Replies are listed 'Best First'.
Re^4: Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail
by syphilis (Archbishop) on Sep 13, 2020 at 14:54 UTC
    The windows shell requires double quotes around paths which contain spaces

    This doesn't accurately describe Windows behaviour. In the cmd.exe shell (on Windows 7) I can do:
    C:\>mkdir "with a space" C:\>cd with a space C:\with a space>
    Sure, the first command needed the quotes. Otherwise I create 3 directories - namely "with", "a", and "space".
    But the second command does not need any quotation at all.

    Contrast this with the bash shell on Debian:
    sisyphus-sis@debian-sis:~$ mkdir "with a space" sisyphus-sis@debian-sis:~$ cd with a space -bash: cd: with: No such file or directory sisyphus-sis@debian-sis:~$ cd "with a space" sisyphus-sis@debian-sis:~/with a space$
    There's a similarity with Windows - without the quotes in the first command, directories "with", "a" and "space" will again be created.
    However, here we see that, unlike the Windows cmd.exe shell, the Debian bash shell also requires quotes for the second (cd) command.

    It therefore seems to me that your assertion is more applicable to Debian than to Windows.

    Cheers,
    Rob
      C:\>cd with a space C:\with a space>

      I think this is a very special case in cmd.exe (and maybe also in command.com): cd/chdir needs exactly one parameter since MS DOS 1.0, so if it is passed more than one, cmd.exe silently combines them into a single parameter.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
        I think this is a very special case in cmd.exe

        Yes, it's true that there are shell commands that do need the quotes (eg copy and move) but set is another command that does not need them.
        Running set PATH=%PATH%;C:\with a space works as intended.

        Anyway, it seems to me that the need for quotes is by no means specific to windows.
        Last night I indicated that cd on Windows doesn't need the quotes, though cd on Linux does.
        Tonight, I've noticed that set on Windows doesn't need the quotes, though export on Linux does.

        It's pretty clearly inaccurate to present the need for double quotes as a Windows thing - though I guess it could be argued that Bill wasn't actually claiming it was windows-specific.

        Cheers,
        Rob.
Re^4: Filename Surrounded by Quotes in a Scalar Variable Causes Open to Fail
by Anonymous Monk on Sep 13, 2020 at 14:54 UTC
    Win32::ShellQuote

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11121688]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2024-04-19 04:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found