Invoking dos command form Perl doesn’t work properly after installing Chef -


after installing chef on windows, found dos commands no longer work in perl if contain forward slashes. example, running `dir /ad .` in perl give warning dir: /ad: no such file or directory . know forward slash points root of current working directory of chef-client process. annoying affects perl well. there way fix this? thanks.

more info clarify issue: using clean win7 64bit machine activeperl 5.8.8 , chef client 11.12.2-1. issue related chef installation. first, on , off when install , uninstall chef client. second, when run dir /, lists contents of c:\opscode\chef\embedded folder.

chef isn't causing problems. system responds same command: my @dirs = `dir /ad .`. treats /ad directory instead of flag throwing same error message "dir: /ad: no such file or directory" before returning all of files in current directory.

using mob's comment solution of my @dirs = `cmd /c dir /ad .` fixes issue , returns list of directories desired.

however, best method solve issue make perl code cross-platform compatible not relying on os specific builtins. example, getting list of directories in cwd done using following:

my @dirs = grep -d, <*>; 

update

i'm running strawberry perl 5.18.2 on windows 7 x64

c:\>perl -v  perl 5, version 18, subversion 2 (v5.18.2) built mswin32-x64-multi-thread 

given you've shared scope of task, think mob's solution best bet. yes, it'd pain have replace of backtick `` , qx() calls, don't foresee better option. luck figuring out if/how chef causing issue. don't have else add now.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -