in reply to Questions about creating CPAN modules

For the dependencies, I think your PREREQ_PM section is OK:

PREREQ_PM => { 'Test::More' => 0, 'File::Temp' => 0, 'Padre' => 0.43, },

Maybe the CPAN dependencies don't update as quickly.

As for requiring a "shell" environment, Module::Install has a function requires_external_bin, which allows you to specify external dependencies.

Personally, instead of relying on cat, which and sh, I would use Perl to implement these (well, except sh) to remove these dependencies instead of programming detections :).

About META.yml, I think make meta or something like that (re)creates that file.

Replies are listed 'Best First'.
Re^2: Questions about creating CPAN modules
by gsiems (Deacon) on Oct 13, 2009 at 11:23 UTC

    Thanks,

    I'll have a study on Module::Install and it's requires_external_bin.

    which: Seek and ye shall find... I should have sought first. It appears that CPAN already has a File::Which. One down...

    cat: While there is a File::Cat, it appears to merely concatenate files, whereas I was using cat for it's ability to expand environment variables and assorted backticked commands. For example:

    cat <<EOT It is `date` and $USER needs more coffee. EOT

    I'm not even sure where to begin to re-impliment that in perl.

    --gsiems

      What you rely on is no magic on the part of cat but more on the part of /bin/sh, and no, there is no easy way to replicate that functionality as-is without writing a shell interpreter.

        True... however, I don't know how else to do it without using cat as a wrapper of sorts. So, even though cat does not contain the magic it seems to be needed to enable the magic.

        --gsiems