No, this is not a custom parameter. This is done in the copy_if_modified method in Module::Build::Base :
# mode is read-only + (executable if source is executable) my $mode = oct(444) | ( $self->is_executable($file) ? oct(111) : 0 ); chmod( $mode, $to_path );
If you control Build.PL, you can subclass Module::Build and override copy_if_modified to call the base class, and then the writable chmod file. But I get the impression that you're just trying to install another module.
Probably the easiest way would be to install a copy of Module::Build in a private directory and then edit it to use oct(666) (or any other mode). Then call perl -I /path/to/customized/Module/Build Build.PL . Or, as you said, just use the standard Module::Build and add a separate step to mark everything that can be written later.
Update: ysth is correct; he is ExtUtils :: Install , which actually makes the final copy. copy_if_modified is for populating blib . But ExtUtils :: Install also hardcodes read-only mode. You can use the individual version of ExtUtils :: Install, but it's probably easier to just take a separate step.
source share