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

Modul im selben Ordner?



<< |< 1 2 >| >> 17 Einträge, 2 Seiten
pixelflat
 2007-09-18 14:56
#99593 #99593
User since
2007-09-13
15 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe gerade etwas von Modulen gelesen. Dabei wurde erwähnt, dass ich diese zwar selbst erstellen, aber nur in einen best. Ordner ablegen kann.

Mir wäre es lieber, wenn ich solche Module im selben Verzeichnis, wie das Perl-Script liegen habe (ähnlich #include bei C/C++). Geht das auch?

Oder muss ich für sowas was anderes (keine Module) benutzen?

Danke,
pixelflat
renee
 2007-09-18 15:00
#99595 #99595
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Natürlich geht das auch... Wo hast Du das her, dass man die in einen bestimmten Ordner speichern muss?
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/
Taulmarill
 2007-09-18 15:25
#99597 #99597
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Du musst perl nur sagen, welche Verzeichnisse es zusätzlich nach Modulen durchsuchen soll. Das geht mit use lib.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
pktm
 2007-09-18 15:30
#99598 #99598
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hilfreich ist in Verbindung mit use lib auch gerne mal CPAN:FindBin:
Code: (dl )
1
2
use FindBin qw/$Bin/;
use lib $Bin;
http://www.intergastro-service.de (mein erstes CMS :) )
pq
 2007-09-18 15:41
#99599 #99599
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
renee+2007-09-18 13:00:19--
Natürlich geht das auch... Wo hast Du das her, dass man die in einen bestimmten Ordner speichern muss?

das ist so ein mythos, der aus irgendeinem grund noch in umlauf ist. daher glauben
auch viele, dass sie keine "externen module" benutzen können. ich frag mich,
ob das so in irgendeinem buch steht...
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
pixelflat
 2007-09-18 15:59
#99604 #99604
User since
2007-09-13
15 Artikel
BenutzerIn
[default_avatar]
Oh, danke!
pktm
 2007-09-19 14:47
#99668 #99668
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
pq+2007-09-18 13:41:48--
renee+2007-09-18 13:00:19--
Natürlich geht das auch... Wo hast Du das her, dass man die in einen bestimmten Ordner speichern muss?

das ist so ein mythos, der aus irgendeinem grund noch in umlauf ist. daher glauben
auch viele, dass sie keine "externen module" benutzen können. ich frag mich,
ob das so in irgendeinem buch steht...


In dem Buch steht wahrscheinlich auch, dass man Perl nicht kompilieren kann.
http://www.intergastro-service.de (mein erstes CMS :) )
pixelflat
 2007-09-19 16:38
#99685 #99685
User since
2007-09-13
15 Artikel
BenutzerIn
[default_avatar]
Das geht? Oo

Sprich, ich könnte dann das Script/Programm ohne Interpreter ausführen?
Taulmarill
 2007-09-19 17:18
#99690 #99690
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Klares Jein. Du kannst dein Script nicht so compilieren, dass der Prozessor es nativ, also ohne Interpreter ausführen kann. Du kannst es aber auf jeden Fall so compilieren, dass der Interpreter es nicht mehr selber Compilieren muss. Das daraus resultierende Ergebnis nennt man Bytecode. Das kann in einigen Spezialfällen Geschwindigkeitsvorteile bringen.
Außerdem kann man mit PAR eine Art Paket aus Interpreter, Script und den benötigten Modulen schnüren, welches dann selbstständig lauffähig ist. Dies bringt aber keine Vorteile in Punkto Geschwindigkeit oder Speicherbedarf des Programms, sondern ist lediglich dazu gedacht, Anwendungen für den Endbenutzer komfortabel aufzubereiten. Allerdings ist PAR in der Praxis nicht einfach zu bedienen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
sid burn
 2007-09-19 18:01
#99697 #99697
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Taulmarill+2007-09-19 15:18:52--
Klares Jein. Du kannst dein Script nicht so compilieren, dass der Prozessor es nativ, also ohne Interpreter ausführen kann. Du kannst es aber auf jeden Fall so compilieren, dass der Interpreter es nicht mehr selber Compilieren muss. Das daraus resultierende Ergebnis nennt man Bytecode. Das kann in einigen Spezialfällen Geschwindigkeitsvorteile bringen.

Hmm, auch ein "jaein".
Mit "perlcc" kannst du auch native ELF Binaries erstellen, und dann benötigst du ebenfalls keinen perl Interpreter mehr.

Allerdiengs auch nen "jaein", weil der Interpreter letztendlich auch nur im Binary eingebaut wird, und der Interpreter letztendlich immer noch gestartet wird. Schneller wird es also nicht. Möglicherweise kann es sogar langsamer werden.

Ansonsten wird das ganze sowieso nicht Offiziel Supported, weswegen es Meiner Meinung nach vernachlässigbar ist.

--------------------

Und zu der Aussage zu "pktm". Jedes Perl Skript wird vor seiner Ausführung "kompiliert"... Und ich denke er wollte eher darauf hinaus.

Der Begriff "kompilieren" bezeichnet nicht native Binaries zu erstellen, sondern eine Sprache von einer zu einer anderen Sprache zu übersetzen. Jeder Perl Sourcecode wird vor seiner verwendung "kompiliert". Nämlich wird Perl Sourcecode in einem bytecode umgewandelt. Und dieser wird letztendlich von einem Interpreter ausgeführt. Und Interpreter die Bytecode ausführen nennt man neuerdings "Virtuel Maschine". Genau soetwas ist Perl. Nur halt mit Compiler und Virtuel Maschine in einem, anstatt getrennt (so wie bei Java).
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2007-09-18 14:56.