Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7776[/thread]

use lib $variabler_pfad???: statt einen Pfad eine Variable übergeben

Leser: 1


<< >> 10 Einträge, 1 Seite
landogar
 2006-03-09 11:03
#63649 #63649
User since
2005-10-26
8 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen!

ich habe ein skript das umgebungsabhängig(Produktion,Test) ist.

in diesem rufe ich mit use lib einige module auf.
jetzt soll aber je nach umgebung ein anderer pfad verwendet werden.
deshalb meine frage: "wie kann ich use lib eine variable, die den Pfad enthält, übergeben"??

vielen dank schonmal!
renee
 2006-03-09 11:38
#63650 #63650
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Genau so wie Du es geschrieben hast:use lib $pfad; Wenn Du vorher erstnoch den Pfad bestimmen musst, dann musst Du das mit dem BEGIN-Block machen:
Code: (dl )
1
2
3
4
BEGIN{
my $pfad = bestimme_pfad();
use lib $pfad;
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2006-03-10 14:45
#63651 #63651
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wobei das "use lib" nach dem BEGIN-Block folgen müsste, oder?
renee
 2006-03-10 15:17
#63652 #63652
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
jepp, hast recht...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;

my $pfad;
BEGIN{
$pfad = 'C:\cpan\WWW-ConfixxBackup-0.01\lib';
}
use lib $pfad;
use WWW::ConfixxBackup;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
esskar
 2006-03-11 01:36
#63653 #63653
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=ptk,10.03.2006, 13:45]Wobei das "use lib" nach dem BEGIN-Block folgen müsste, oder?[/quote]
muss es?
Ich glaube nicht, Tim!
esskar
 2006-03-11 01:37
#63654 #63654
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=renee,10.03.2006, 14:17]jepp, hast recht...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;

my $pfad;
BEGIN{
 $pfad = 'C:\cpan\WWW-ConfixxBackup-0.01\lib';
}
use lib $pfad;
use WWW::ConfixxBackup;
[/quote]
in dem Fall ist der BEGIN-Block unnötig.
ptk
 2006-03-11 12:18
#63655 #63655
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Der BEGIN-Block ist notwendig, weil Zuweisungen normalerweise zur Laufzeit passieren, nicht zur Compilezeit. Hier ein Dump von @INC ohne und mit BEGIN-Block
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$VAR1 = [
undef,
"/usr/perl5.8.0/lib/5.8.0/i386-freebsd-64int",
"/usr/perl5.8.0/lib/5.8.0",
"/usr/perl5.8.0/lib/site_perl/5.8.0/i386-freebsd-64int",
"/usr/perl5.8.0/lib/site_perl/5.8.0",
"/usr/perl5.8.0/lib/site_perl",
"."
];
$VAR1 = [
"C:\\cpan\\WWW-ConfixxBackup-0.01\\lib",
"/usr/perl5.8.0/lib/5.8.0/i386-freebsd-64int",
"/usr/perl5.8.0/lib/5.8.0",
"/usr/perl5.8.0/lib/site_perl/5.8.0/i386-freebsd-64int",
"/usr/perl5.8.0/lib/site_perl/5.8.0",
"/usr/perl5.8.0/lib/site_perl",
"."
];
esskar
 2006-03-11 15:35
#63656 #63656
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ach ja stimmt. naja, 1 von 2 richtig! :) Hätt ich es getestet, hätt ich auch ein Empty compile time value given to use lib ... bekommen
Relais
 2006-03-11 19:46
#63657 #63657
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=esskar,11.03.2006, 14:35]Hätt ich es getestet, hätt ich auch ein Empty compile time value given to use lib ... bekommen[/quote]
Wärst Du mal auf dem 8. Deutschen Perl-Workshop gewesen, dann wär Dir das nicht passiert. ;)
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
renee
 2006-03-12 16:12
#63658 #63658
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Der sehr interessante Vortrag von Thomas Klausner ist auch im Internet zu finden: http://domm.zsi.at/talks/2006_bochum_using_use/
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 10 Einträge, 1 Seite



View all threads created 2006-03-09 11:03.