Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I start a new Perl module distribution?
    primarykey
    data
    text
    <p>I'm trying to set up a large-ish project, written in Perl. The <a href="http://www.ibm.com/developerworks/linux/library/l-make.html" rel="noreferrer">IBM MakeMaker tutorial</a> has been very helpful so far, but I don't understand how to link all the modules into the main program. In my project root, I have <code>MANIFEST</code>, <code>Makefile.PL</code>, <code>README</code>, a <code>bin</code> directory, and a <code>lib</code> directory. In my <code>bin</code> directory, I have my main script (<code>Main.pl</code>). In the <code>lib</code> directory, I have each of my modules, divided up into their own respective directories (i.e. <code>Utils::Util1</code> and <code>Utils::Utils2</code> in the <code>utils</code> directory, etc). In each module directory, there is also a <code>t</code> directory, containing tests</p> <p>My <code>MANIFEST</code> file has the following:</p> <pre><code>bin/Main.pl lib/Utils/Util1.pm lib/Utils/Util2.pm lib/Utils/t/Utils1.t lib/Utils/t/Utils2.t Makefile.PL MANIFEST README </code></pre> <p><code>Makefile.PL</code> is the following:</p> <pre><code>use ExtUtils::MakeMaker; WriteMakefile( 'NAME'=&gt;'Foo', 'VERSION_FROM'=&gt;'bin/Main.pl', 'PREREQ_PM'=&gt;{ "XML::Simple"=&gt; 2.18}, #The libraries that we need and their #minimum version numbers 'EXE_FILES' =&gt;[("bin/Main.pl")] ); </code></pre> <p>After I make and run, the program crashes, complaining that it cannot find <code>Utils::Util1</code>, and when I run '<code>make test</code>, it says <code>no tests defined</code>. Can anyone make any suggestions? I have never done a large scale project like this in perl, and I will need to add many more modules</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload