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

use lib qw

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
shaihulud
 2006-05-02 17:21
#65507 #65507
User since
2006-04-12
76 Artikel
BenutzerIn
[default_avatar]
Wenn ich alle packages die ich nutzen will im gleichen Verzeichnis wie die auszuführende datei habe wie muss ich dann use lib qw() füllen? Ich möchte nicht den gesamten Pfad angeben, weil das Programm auch auf andere Systeme übertragbar sein sollte.
also anstatt use lib qw( Pfad) gibts doch bestimmt sowas wie use lib qw (aktuelles Verzeichnis) oder?\n\n

<!--EDIT|shaihulud|1146576101-->
Taulmarill
 2006-05-02 17:35
#65508 #65508
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
das aktuelle verzeichniss ist einfach ein punkt, also
Code: (dl )
use lib qw/./;

dies bezieht sich aber immer auf das verzeichniss, in dem du dich gerade befindest. um das verzeichniss des scripts zu finden benutzt man am besten das coremodul FindBin
Code: (dl )
1
2
use FindBin;
use lib "$FindBin::Bin";
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
bloonix
 2006-05-02 17:36
#65509 #65509
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Code: (dl )
use lib "./";


Edit: allerdings nur, wenn du das Skript auch mit ./Skript startest\n\n

<!--EDIT|opi|1146577154-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
esskar
 2006-05-03 02:05
#65510 #65510
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=opi,02.05.2006, 15:36]Edit: allerdings nur, wenn du das Skript auch mit ./Skript startest[/quote]
das wird es unter windows nie tun! :)
betterworld
 2006-05-03 02:19
#65511 #65511
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Taulmarill,02.05.2006, 15:35]
Code: (dl )
1
2
use FindBin;
use lib "$FindBin::Bin";
[/quote]
Ich bevorzuge
Code: (dl )
1
2
use FindBin;
use lib "$FindBin::RealBin";
GwenDragon
 2006-05-03 11:59
#65512 #65512
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
[quote=esskar,03.05.2006, 00:05][quote=opi,02.05.2006, 15:36]Edit: allerdings nur, wenn du das Skript auch mit ./Skript startest[/quote]
das wird es unter windows nie tun! :)[/quote]
Nicht ganz richtig ;)
Das stimmt nur, wenn du COMMAND.COM oder CMD.EXE als Shell benutzt.

Mit Cygwins Shell startet auch ein Perlskript mit ./skript

Die Cygwin-Tools sind sehr nützlich und verhindern Nervenzusammenbrüche beim Benutzen der Windows-DOS-Fensters für UN*X-Denker :)
shaihulud
 2006-05-03 15:13
#65513 #65513
User since
2006-04-12
76 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
  open
DATEI, "<C:/Beispieldaten/Konfigurationsdaten/p0342335.DOCFIELD") || die "Datei nicht gefunden";
my @Zeilen = <DATEI>;
close(DATEI);


wie kann ich die datei .DOCFIELD ansprechen wenn ich nicht weiss wie sie heisst?
im sinne von :
Code: (dl )
1
2
3
4
  open
DATEI, "<C:/Beispieldaten/Konfigurationsdaten/*.DOCFIELD") || die "Datei nicht gefunden";
my @Zeilen = <DATEI>;
close(DATEI);


wobei das nicht funktioniert wie ich leider rausgefunden hab.
renee
 2006-05-03 15:18
#65514 #65514
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du hast im Prinzip nur eine Chance, wenn es in dem Verzeichnis nur eine .DOCFIELD-Datei gibt. Ansonsten musst Du irgendwie wählen...

So sollte es klappen:
Code: (dl )
1
2
3
4
5
6
my $dir = 'C:/Beispieldaten/Konfigurationsdaten/';
my @files = glob($dir.'*.DOCFIELD');

open(my $fh,'<',$files[0]) or die $!;
#...
close $fh;
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/
bloonix
 2006-05-03 16:43
#65515 #65515
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=esskar,03.05.2006, 00:05]das wird es unter windows nie tun! :)[/quote]
[quote=GwenDragon,03.05.2006, 09:59]für UN*X-Denker :)[/quote]
Ich bin bislang nie in die Verlegenheit gekommen, auf Windows
etwas mit Perl zu entwickeln... ich kann mir das auch irgendwie
nicht vorstellen. Falls ich das jedoch mal muss, wird sowas
wie Cygwin bestimmt eine Erleichterung für mich sein :)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
esskar
 2006-05-03 17:23
#65516 #65516
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=opi,03.05.2006, 14:43]Ich bin bislang nie in die Verlegenheit gekommen, auf Windows
etwas mit Perl zu entwickeln...[/quote]
naja; ich verdiene mein Geld mit Microsoft.
Jedem das Seine.
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2006-05-02 17:21.