in reply to Re^4: how to dir a directory that have space (examples)
in thread how to dir a directory that have space

By way of example of the inconsistent nature of the internal handling of the list form:

Apparently perl isn't to blame, see exec always invokes the shell? win32

Win32::ShellQuote can be a cure

  • Comment on Re^5: how to dir a directory that have space (examples)

Replies are listed 'Best First'.
Re^6: how to dir a directory that have space (examples)
by BrowserUk (Patriarch) on Jan 16, 2015 at 12:34 UTC

    I'm not sure how you draw that conclusion.

    1. system is not exec; nor vice versa.

      It is perfectly feasible and simple to invoke a command via system without going through the shell:

      [0] Perl> system q[perl -wE" say for @ARGV; <STDIN>" 1 2 "1 2" "1 \"2\ +" 3"];; 1 2 1 2 1 "2" 3
    2. That thread is very muddled.

      The conclusions drawn do not appear to match up with the code executed.

    As for Win32::ShellQuote; I've never found a need for it. I use the scalar form of system & open; quote as I would in the shell, and it just works. The problem with the list form is it does stuff to what you pass; but what it does is undocumented; thus you're always fighting 'intelligence' that isn't very.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice. Agile (and TDD) debunked
    I
      system is not exec

      Not sure what you mean by that? From system:

      system LIST ... Does exactly the same thing as exec LIST, except that a fork is done first and the parent process waits for the child process to exit.
        except that a fork is done first

        Windows doesn't have fork!


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice. Agile (and TDD) debunked