in reply to distributing a script with a module

You have to use EXE_FILES.

From ExtUtils::MakeMaker documentation:

EXE_FILES

Ref to array of executable files. The files will be copied to the INST_SCRIPT directory. Make realclean will delete them from there again.

If your executables start with something like #!perl or #!/usr/bin/perl MakeMaker will change this to the path of the perl 'Makefile.PL' was invoked with so the programs will be sure to run properly even if perl is not in /usr/bin/perl.

And MAN1PODS will allow you to install a man page for the script.

For instance:

WriteMakeFile( ... EXE_FILES => [qw(bin/foo)], MAN1PODS => {qw(bin/foo $(INST_MAN1DIR)/foo.1)} );