Hallo zusammen,
ich versuche mich ein bisschen in Perl einzuarbeiten und hab' ein kleines Programm zur Berechtigungs- und Integritaetspruefung abgetippt.
Leider laeuft es nicht so ganz, und ich hab' leider noch wenige Perl-Erfahren, insbesondere mit Modulen.
Hier erstmal das Programm:
---
#!/usr/bin/perl
use Digest::MD5;
require 'find.pl';
$md5 = MD5;
@dirs = @ARGV;
for $dir (@dirs) { find($dir); }
sub wanted { push @files, $name; }
for $name ( sort @files ) {
($uid,$gid) = (stat $name)[4,5];
$stat = sprintf "%0o", (stat _)<font size="2">;
unless ( -f $name ) {
printf "$stat\t$uid $gid\t\t\t\t\t\t$name
";
next;
}
$md5->reset();
^^^^^^^^^^^^^^^^^^
open FILE, $name or print(STDERR "Kann die Datei $name nicht oeffnen
"), next;
$md5->addfile(FILE);
close FILE;
$checksum = $md5->hexdigest();
printf "$stat\t$uid $gid $checksum\t$name
";
}
---
Wenn ich es jetzt starten lasse, kommt diese Meldung:
kirk:/home/kirk/perl # ./perl /tmp/
41777 0 0 /tmp
41777 0 0 /tmp/.ICE-unix
140700 500 100 /tmp/.ICE-unix/1021
140700 500 100 /tmp/.ICE-unix/1055
Can't locate object method "reset" via package "MD5" (perhaps you forgot to load "MD5"?) at ./perl line 18.
Kann mir jemand sagen, was mit dem MD5-Modul im Zusammehang mit dem reset nicht funktioniert?
Ueber hilfreiche Antworten wuede ich mich sehe freuen.
Gruss,
Jakob