|go ahead... be a heretic|
Re: passing a command line argumentby naikonta (Curate)
|on Oct 04, 2007 at 16:17 UTC||Need Help??|
As bart points out, it can't happen. It could be the shell that trying to replace what it considers special (meta) characters in the $string. You can use quotemeta to escape those characters or using the equivalent escape sequences such as \Q.
Of course, perl has its own mkdir function, internally. Please note that the third execution fails because directory already exists, indicating that \Q$dir and quotemeta $dir result in the same directory name.
One more thing, please don't use `shellcmd args` in void context, because you ask for something to return but effectively discard it. Assign it to a scalar or an array to capture the output if you want it so.
Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!