Schrift
[thread]10612[/thread]

Frage zur Benutzung des Packages MIME::Lite (Seite 3)

Leser: 1


<< |< 1 2 3 >| >> 27 Einträge, 3 Seiten
renee
 2007-10-19 11:27
#101079 #101079
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
ptk+2007-10-19 08:24:31--
Oder ein Modul, das relativ zu einem anderen Modul liegt (hier: im gleichen Verzeichnis):
Code: (dl )
1
2
3
4
use File::Spec;
use File::Basename qw(dirname);
use lib dirname(File::Spec->rel2abs(__FILE__));
use ...


Oder

Code (perl): (dl )
1
2
use Dir::Self;
use lib __DIR__;
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/
Duff
 2007-10-19 12:05
#101082 #101082
User since
2006-10-06
283 Artikel
BenutzerIn

user image
renee+2007-10-19 09:27:11--

Code (perl): (dl )
1
2
use Dir::Self;
use lib __DIR__;



Und wie muss ich sowas nun genau in einem Skript angeben, wenn ich mich z.B. im Verzeichnis /home/duff befinde und das Package MIME::Lite im Verzeichnis /home/duff/perl/MIME/Lite.pm liegt?

Irgendwie blicke ich hier nicht mehr so ganz durch ...
D'OH
Daniel
renee
 2007-10-19 12:08
#101084 #101084
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
#!/usr/bin/perl

use FindBin;
use lib $FindBin::RealBin . '/perl';
use MIME::Lite;

# weiterer Perl-Code


oder
Code (perl): (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

use File::Spec;
use File::Basename qw(dirname);
use lib dirname(File::Spec->rel2abs(__FILE__)) . '/perl';
use MIME::Lite;

# weiterer Perl-Code


oder
Code (perl): (dl )
1
2
3
4
5
6
7
#!/usr/bin/perl

use Dir::Self;
use lib  __DIR__ . '/perl';
use MIME::Lite;

# weiterer Perl-Code
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/
Duff
 2007-10-19 12:13
#101086 #101086
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Ok, Beispiel 1 und 2 verstehe ich soweit (denke ich zumindestens).

Das . '/perl' bedeutet doch, dass ich mich mit dem . auf das aktuelle Verzeichnis beziehe (/home/duff) und das ich von dort nach ins Verzeichnis perl (/home/duff/perl) wechseln muss.

Aber wieso dann ein '/perl' und nicht ein 'perl'?

Beim 2ten Beispiel muss ich wohl noch dirname durch /home/duff/perl ersetzen, oder?
D'OH
Daniel
renee
 2007-10-19 12:26
#101089 #101089
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Duff+2007-10-19 10:13:01--
Ok, Beispiel 1 und 2 verstehe ich soweit (denke ich zumindestens).

Das . '/perl' bedeutet doch, dass ich mich mit dem . auf das aktuelle Verzeichnis beziehe (/home/duff) und das ich von dort nach ins Verzeichnis perl (/home/duff/perl) wechseln muss.


Der Ausdruck vor . '/perl' liefert das Verzeichnis, in dem das Skript ist. Da das Modul aber dann in einem Unterverzeichnis 'perl' liegt, muss man den Namen noch ergänzen...

Quote
Aber wieso dann ein '/perl' und nicht ein 'perl'?


Weil das '/' der Verzeichnistrenner ist... Sonst würde nur /home/duffperl rauskommen.

Quote

Beim 2ten Beispiel muss ich wohl noch dirname durch /home/duff/perl ersetzen, oder?


nein. Das "dirname" ist eine Funktion aus CPAN:File::Basename!
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/
renee
 2007-10-19 12:28
#101090 #101090
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Vielleicht versteht man es so besser:
Code (perl): (dl )
1
2
3
4
5
6
7
8
#!/usr/bin/perl

use FindBin;

my $dir = $FindBin::RealBin;
print $dir,"\n";
$dir .= '/perl';
print $dir,"\n"; 


oder
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl

use File::Spec;
use File::Basename qw(dirname);

my $dir = dirname(File::Spec->rel2abs(__FILE__));

print $dir,"\n";
$dir .= '/perl';
print $dir,"\n"; 


oder
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl

use Dir::Self;

my $dir =   __DIR__;

print $dir,"\n";
$dir .= '/perl';
print $dir,"\n"; 
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/
Duff
 2007-10-19 13:02
#101093 #101093
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Ok, habe es denke ich verstanden.
D'OH
Daniel
<< |< 1 2 3 >| >> 27 Einträge, 3 Seiten



View all threads created 2007-10-18 15:57.