Hi Leute, tolles Forum ist das hier.
Ich habe ein Problem mit Perl unter Netware, für ein Script brauche ich das Modul MD5 im Verzeichnis lib/Digest. Leider gibt es unter Netware kein Digest Verzeichnis, noch finde ich eine MD5.pm.
Nun meine Frage, kann ich das Linux Modul verwenden? oder brauch ich eine spezielle Netware Version??? und wo bekomm ich die her???
Danke für eure Gedanken
Toeffel
Ronnie
2004-04-28 10:30
User since 2003-08-14
2022
Artikel BenutzerIn
Hallo Toeffel,
es gibt ein Modul Digest::MD5::Perl welches für solche Zwecke gemacht wurde. Es ist natürlich deutlich langsamer als das normale Modul, weil MD5 in Perl programmiert ist, statt als XS.
Gruss,
Ronnie
Toeffel
2004-04-28 10:35
User since 2004-04-28
7
Artikel BenutzerIn
WOW Ronnie,
das war schnell :-)))
Ich habe das Modul auch gefunden. Nun habe ich unter lib einen Ordener Digest angelegt und darin das MD5.PM kopiert. Is das so richtig oder muss ich noch was beachten ??
Toeffel
Toeffel
2004-04-28 10:45
User since 2004-04-28
7
Artikel BenutzerIn
Habe nun den Fehler, dass das System das Loadable object nicht finden kann!?
Die Zeile um das Modul einzubinden lautet:
use Digest::MD5 qw(md5 md5_hex md5_base64);
Toeffel
Ronnie
2004-04-28 10:45
User since 2003-08-14
2022
Artikel BenutzerIn
ja, so sollte es gehen.
EDIT1: Leg mal unter Digest einen Ordner Perl an und kopiere dahin die .pm Datei. Probier dann:
use strict; use warnings; use Digest::Perl::MD5 'md5_hex'; print 'Digest is ', md5_hex('foobarbaz'), "\n";
Dieses Snippet funktioniert bei mir. Dein lib Verzeichniss ist aber in @INC, oder?
Gruss,
Ronnie\n\n
<!--EDIT|Ronnie|1083135466-->
Toeffel
2004-04-28 11:33
User since 2004-04-28
7
Artikel BenutzerIn
Danke Ronnie!!
So hats dann geklappt, aber warum kann ich nicht nachvollziehen. Kannst Du mir dazu ne Erklärung geben???
Toeffel
Toeffel
2004-04-28 12:09
User since 2004-04-28
7
Artikel BenutzerIn
Hat doch icht so ganz geklappt, jetzt meckert er, dass dir subroutine &main::md5_base64 nicht definiert ist.
Ronnie: habe deine Routine ausprobiert, da kommt es zu einer Fehlermeldung, dass die Resource inuse ist!!
Toeffel
pq
2004-04-28 12:18
User since 2003-08-04
12208
Artikel Admin1
wieso installierst du nicht per CPAN.pm oder per perl Makefile.PL,
so wie es in unserer entsprechenden faq beschrieben ist?
das dürfte doch auch unter netware möglich sein...
Hi pq,
gute Idee, nur hat mein Netware Rechner keinen direkten Onlinezugang. Kann ich die Installtionspfade auch irgentwie händisch anpassen??
Toeffel
Ronnie
2004-04-28 13:38
User since 2003-08-14
2022
Artikel BenutzerIn
[quote=Toeffel,28.04.2004, 10:09]Hat doch icht so ganz geklappt, jetzt meckert er, dass dir subroutine &main::md5_base64 nicht definiert ist.[/quote]
Die Funktionen die du aufrufen willst müssen in den Namensraum deines Programmes importiert werden:
Hier importierst du mit qw(...) die benötigten Funktionen.
Alternativ kannst du jede Funktion mit einem voll qualifizierten Namen aufrufen oder die objektorientierte Syntax verwenden.