in reply to Re^3: system and wildcard expansion?
in thread system and wildcard expansion?
Hm. Even that's not the full sp. My single most frequent use of system is to load images I've just created into my graphics viewer; or html into my browser:
perl -e"system '1-centre.png'" ## loads the image in my default image + viewer # or perl -e"system 'gened.html'" ## loads the html into my default brow +ser
They are both single scalar arguments, but are passed to the shell which then works out which executable to run.
Winding my way through the sources, the process (on win32) appears to be something like (abbreviated):
If it's a single scalar arg,
( if the first word has an '.exe' extension (and not path?); or if it doesn't have any extension nor just a '.', then try adding '.exe' )
then try searching the path to locate it.
If you find it, run it directly.
If it fails to find it, throw it at the shell and see if it can handle it.
If it has a dot, or any other extension, then just throw it at the shell and let it sort it out.
If any attempt to run it directly fails, throw it at the shell and give it a chance.
I think.
There are also various issues surrounding [sic] the issue of what consitutues the "first word" in the presence of a quoted, space containing first argument, but my brain won't let me build a clear picture of what actually happens, as the code is spit across several subroutines.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: system and wildcard expansion?
by rovf (Priest) on Nov 12, 2010 at 11:16 UTC | |
by BrowserUk (Patriarch) on Nov 12, 2010 at 11:40 UTC | |
by rovf (Priest) on Nov 12, 2010 at 11:49 UTC | |
by BrowserUk (Patriarch) on Nov 12, 2010 at 11:54 UTC | |
by rovf (Priest) on Nov 12, 2010 at 12:08 UTC |