in reply to Why Makefile.PL is called Makefile.PL with capitalized .PL ?

I bet that the Makefile has rules for handling .pl files, and Makefile.PL should be excluded.
  • Comment on Re: Why Makefile.PL is called Makefile.PL with capitalized .PL ?

Replies are listed 'Best First'.
Re^2: Why Makefile.PL is called Makefile.PL with capitalized .PL ?
by Anonymous Monk on Nov 15, 2010 at 23:32 UTC
    ExtUtils::MakeMaker

    PL_FILES

    MakeMaker can run programs to generate files for you at build time. By default any file named *.PL (except Makefile.PL and Build.PL) in the top level directory will be assumed to be a Perl program and run passing its own basename in as an argument. For example...

    PM

    Hashref of .pm files and *.pl files to be installed. e.g.

    {'name_of_file.pm' => '$(INST_LIBDIR)/install_as.pm'}
    By default this will include *.pm and *.pl and the files found in the PMLIBDIRS directories. Defining PM in the Makefile.PL will override PMLIBDIRS. PMLIBDIRS

    Ref to array of subdirectories containing library files. Defaults to [ 'lib', $(BASEEXT) ]. The directories will be scanned and any files they contain will be installed in the corresponding location in the library. A libscan() method can be used to alter the behaviour. Defining PM in the Makefile.PL will override PMLIBDIRS.

    (Where BASEEXT is the last component of NAME.)

    Also, before perl had modules (*.pm), libraries were *.pl files, so *.pl files are assumed to be perl4 style compatibility modules