Schrift
[thread]6219[/thread]

Netware und Perl: Digest MD5 fehlt



<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Toeffel
 2004-04-28 10:21
#81877 #81877
User since
2004-04-28
7 Artikel
BenutzerIn
[default_avatar]
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
#81878 #81878
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
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
#81879 #81879
User since
2004-04-28
7 Artikel
BenutzerIn
[default_avatar]
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
#81880 #81880
User since
2004-04-28
7 Artikel
BenutzerIn
[default_avatar]
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
#81881 #81881
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
ja, so sollte es gehen.

EDIT1: Leg mal unter Digest einen Ordner Perl an und kopiere dahin die .pm Datei.  Probier dann:
Code: (dl )
1
2
3
4
5
6
#!/usr/bin/perl

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
#81882 #81882
User since
2004-04-28
7 Artikel
BenutzerIn
[default_avatar]
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
#81883 #81883
User since
2004-04-28
7 Artikel
BenutzerIn
[default_avatar]
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
#81884 #81884
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
wieso installierst du nicht per CPAN.pm oder per perl Makefile.PL,
so wie es in unserer Wiki:entsprechenden faq beschrieben ist?
das dürfte doch auch unter netware möglich sein...
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
Toeffel
 2004-04-28 13:16
#81885 #81885
User since
2004-04-28
7 Artikel
BenutzerIn
[default_avatar]
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
#81886 #81886
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[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:
Code: (dl )
use Digest::Perl::MD5 qw(md5_hex md5_base64);

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.
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2004-04-28 10:21.