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.
In reply to Re^4: system and wildcard expansion?
by BrowserUk
in thread system and wildcard expansion?
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |