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

Perl Kommandozeile



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
tribbiani
 2006-07-03 13:16
#67770 #67770
User since
2006-01-27
17 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich hab folgende Frage: Ich starte ein perl Script aus einem anderen Verzeichnis, wie komme ich aber auf das Kommando(z.B. ./tmp/scripts/run.pl, möchte einfach wissen voraus mein Script gestartet wurde), es steht nicht in der Argumenten-Liste?

Grüsse,
tribbs
esskar
 2006-07-03 13:17
#67771 #67771
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
lass dir mal $0 ausgeben!
tribbiani
 2006-07-03 13:22
#67772 #67772
User since
2006-01-27
17 Artikel
BenutzerIn
[default_avatar]
Danke esskar,
Ich hab's vermutet dass es einfach ist, konnte es aber alleine wohl nicht finden...
pq
 2006-07-03 13:27
#67773 #67773
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Wiki:perldoc perlvar (wiki ist gerade tot, aber du kannst das
auch auf der kommandozeile eingeben.)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
tribbiani
 2006-07-03 16:01
#67774 #67774
User since
2006-01-27
17 Artikel
BenutzerIn
[default_avatar]
Erstmals danke für die guten Tipps!

Leider komm ich wieder nicht weiter...

Eigentlich möchte ich, dass mein Script von überall(egal welches Verzeichnis) ausführbar ist. Hab aber auch ziemlich viele Module die ich benutze, die Module linke ich zu Kompilierzeit mit 'use lib ...' erst danach wird aber der Pfad ermittelt woraus das Script gestartet wurde... deshalb kann ich die libs auch nicht richtig setzen. Wie könnte ich Module anders einbinden?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl -w

use strict;
use warnings;
use File::Basename;


my($base,$path) = fileparse($0);
my $lib_path = "$path"."mylib";

use lib "$lib_path_1";
#use lib "./master/mylib";
#use mylib;


mylib.pm liegt in diesem Bespiel in einem Unterverzeichnis 'master'. Die drittletzte Zeile sollte die vorletzte ersetzen...

Grüsse,
tribbs
GwenDragon
 2006-07-03 16:05
#67775 #67775
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
Wie wäre es mit FindBin ;)
Code: (dl )
1
2
3
4
5
6
#!/usr/bin/perl -w

use strict;
use warnings;
use FindBin qw($Bin);
use lib "$Bin/mylib";
\n\n

<!--EDIT|GwenDragon|1151928502-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

esskar
 2006-07-03 16:28
#67776 #67776
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
am besten noch im zusammenhang mit einem
Code: (dl )
BEGIN { }
block
Crian
 2006-07-03 16:59
#67777 #67777
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Wofür der BEGIN-Block?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
tribbiani
 2006-07-03 17:31
#67778 #67778
User since
2006-01-27
17 Artikel
BenutzerIn
[default_avatar]
Nochmals Danke!

Scheint zu funktionieren mit
Code: (dl )
1
2
use FindBin qw($Bin);
use lib "$Bin/mylib";

Ich bin Anfänger und die Tipps hier helfen mir echt viel, hoffentlich nerve ich nicht zuviel mit den Fragen :)

Grüsse
renee
 2006-07-03 17:42
#67779 #67779
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Keine Angst, dafür ist so ein Forum ja da!
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/
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2006-07-03 13:16.