in reply to How to build system calls using '=>'

The => operator is called "fat comma", because it mostly acts like a comma. So, in effect, the system call is equivalent to:

system( 'mkdir', '-p', @dirs );

Note that the call to system uses the system LIST form. Looking at [perlfunc://system], you will see that this form bypasses any parameter parsing by the shell.

Your solution tried to pass the "-m 775" switch, but mkdir only knows about the "-m" switch with the value 775. That is the thing which is different.