in reply to Where to keep images so a module can find them
Technically, when you open a file called "Images/foo.png", perl will use the current process' current working directory (which defaults to the same as the parent process was using when your perl app was started). So, unless you happen to already be in the lib directory when you started (or manually changed since then), no, that won't work.
What you can do, potentially, is to look for yourself in %INC and figure out everything relative to that. e.g.:
This is depending on the concept that you follow all normal perl conventions (one package per pm file, the pm file is in a path where ::'s become /'s (or \ on windows), and a .pm is added to the end). If you don't, well, you'll have to look at %INC yourself to figure out what to do to figure out where you are.use File::Basename; (my $pm_name = __PACKAGE__ . '.pm') =~ s[::][/]g; my $images_dir = File::Spec->catdir(dirname($INC{$pm_name}), 'Images') +;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Where to keep images so a module can find them
by sweetser (Acolyte) on Sep 05, 2006 at 16:52 UTC |