W mojej aplikacji umieściłem wszystkie moduły w jednym katalogu, nazwijmy go: libx
. Ponieważ od użytkownika zależy, gdzie wybrać aplikację, nie chcę kodować ścieżki lib
.Dlaczego "use lib" nie działa w ten sposób?
Tak więc na początku myapp.pl
, napisałem następujące wiersze kodu.
#! /usr/bin/perl -w
use strict;
my $curr_dir = $0;
my $curr_lib = $curr_dir;
$curr_lib =~ s/myapp\.pl/libx/;
use $curr_lib ;
Zamiast uzyskać to, czego się spodziewam, mam błędy kompilacji!
Co jest nie tak z moim kodem? Nie chcę kodować ścieżki biblioteki przy korzystaniu z use lib
, jak mam to zrobić?
Niestety zapomniałem wspomnieć, że gdy aplikacja jest wdrażany, myapp.pl
i libx
są w tym samym katalogu.
Pomoże nam, jeśli powiesz nam dokładnie, w jaki sposób możesz oczekiwać, aby Twój użytkownik uruchomił aplikację. Czy po prostu wpisują "myapp".pl ', i to od nich zależy, czy ustawimy $ PATH, aby myapp.pl można było znaleźć w katalogu, w którym go utkwili? –