in reply to How to build system calls using '=>'
is just a fancy way of writing:system mkdir => '-p' => @dirs
There are some people who like to use => instead of a comma to separate arguments that have different roles.system 'mkdir', '-p', @dirs
That indeed doesn't work. Because system has a list of arguments, no shell is involved, so mkdir is called, with -m 755 as a single argument. It should be two. Either use:system mkdir => '-m 775' => '-p' => @dirs;
orsystem 'mkdir', '-m', '775', '-p', @dirs;
or, if you have sure @dirs doesn't contain any characters special to the shell:system mkdir => -m => 775, -p => @dirs;
system "mkdir -m 775 -p @dirs";
|
|---|