I think you need PAR -----Original Message----- From: Austin Schutz [mailto:[EMAIL PROTECTED] Sent: Friday, April 25, 2008 10:43 PM To: module-authors@perl.org Subject: Application Building
Ok, so here's what must be a question with a really simple answer: how do I write a perl app? For example: I want to display a jpeg. MyApp/script/display.pl: #!/path/to/perl use Myapp::Display; Myapp::Diplay->new()->display('example.jpg'); __END__ MyApp/lib/Myapp/Display.pm ... MyApp/share/example.jpg ... MyApp/Build.PL: my $build = new Module::Build ( script_files => [ 'script/display.pl' ], jpeg_files => { 'share/example.jpg' => 'share/example.jpg' } ); $build->add_build_element('jpeg'); $build->create_build_script; Ok, so now I do: /path/to/perl ./Build.PL install_base=$HOME/MyApp ./Build install ... ... If I put #!perl at the top of display.pl it will have a path to perl (though not the one I specified), but it won't have "use lib $HOME/MyApp/lib" at the top of the script, so it can't run. Furthermore, there's no way for the script to know what was used for install_base, so there's no way for the script to know where the data file is located. This must be something people do, right? Currently I hard code paths and force the installation to be where I want it, but this seems really sub-optimal, doesn't work for having test environments, etc. I've been considering parsing $0 at the top of the script, is that what other people do? Austin