Probleme beim laden von Perl Modulen ohne deb Pakete

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Debil
Beiträge: 27
Registriert: 09.11.2004 16:39:35
Wohnort: nomans land

Probleme beim laden von Perl Modulen ohne deb Pakete

Beitrag von Debil » 18.05.2007 02:21:22

Moins Leute

Hab folgendes problem: ich habe eine Anzahl verschiedener IP Adressen die unsere homepage aufrufen. Ich will mit Perl nur die IP Adressen aussondern, die ausserhalb des Landes liegen (das Land ist Australien). Ich bin kein Perl programmierer aber ich kenn mich so bisschen mit dem Code aus.

Leider musste ich stehen bleiben bei der ersten Huerde. Ich muss einiege Module von CPAN installieren, fuer die es keine Deb Pakete gibt. Bsp: Net::IP::Extract

Nach einigem googlen, habe ich dh-make-perl ausprobiert, und das system zeigt, dass das Paket erfolgreich installieret worden ist (build and install).

ABER, wenn ich folgenden Code laufe

use Net::IP::Extract;

my $file = $ARGV[0];

my $file;
open(FILE, $file) || die "Cannot open file $file : $!\n";
chomp(@file = <FILE>);
close(FILE);

my @ip = Net::IP::Extract::extract(@file);

foreach (@ip){
print "$_\n";
}

antwortet das System mit "Cannot open file : No such file and directory" obwohl das Script mit perl [scriptname] in Skript Verzeichnis ausgefuehrt wird.

Ich hab auch versucht das Modul direct zu laden mit:

use lib ' Foo/bar';

oder auch

BEGIN {push @INC, 'Foo/bar'}

ging aber nicht.

Die gleiche Nachricht kam zurueck.

Wenn ich locate Extract.pm eingebe, dann kommt folgendes heraus:

/usr/local/share/perl/5.8.8/Archive/Extract.pm
/usr/local/share/perl/5.8.8/CPANPLUS/Internals/Extract.pm
/usr/share/perl5/Locale/Maketext/Extract.pm
/usr/share/perl5/Net/IP/Extract.pm

Den letzen eintrag habe ich als Foo/bar benutzt, einfach ohne Extract.pm, aber wie gesagt, es ging nicht.

Kann mir jemand helfen?

Debil
do it nasty and dirty

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Probleme beim laden von Perl Modulen ohne deb Pakete

Beitrag von gms » 18.05.2007 19:37:12

Debil hat geschrieben:antwortet das System mit "Cannot open file : No such file and directory" obwohl das Script mit perl [scriptname] in Skript Verzeichnis ausgefuehrt wird.
verstehe nicht, warum du den Fehler bei dem Modul suchst und nicht in deinem Code, diese Fehlermeldung stammt ja sogar von dir

Code: Alles auswählen

open(FILE, $file) || die "Cannot open file $file : $!\n";
warum diese Fehlermeldung kommt ist klar, du hast zweimal die Variable "$file" declariert

Code: Alles auswählen

my $file = $ARGV[0]; 

my $file; 
open(FILE, $file) || die "Cannot open file $file : $!\n";
chomp(@file = <FILE>);
das zweite "my $file" sollte wohl in "my @file" umgeändert werden, du könntest dir aber wirklich auch sprechendere Namen ausdenken

mit einem

Code: Alles auswählen

use strict;
am Anfang des Scripts, wärst du nicht in ein solches Laufzeitproblem hineingeschlittert.

Gruß
gms

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 19.05.2007 01:06:22

Genereller Tipp: in jedes Perl-Skript gehoert

Code: Alles auswählen

use strict;
use warnings;
rein. Damit erwischt man die meisten Fehler.

Debil
Beiträge: 27
Registriert: 09.11.2004 16:39:35
Wohnort: nomans land

Danke

Beitrag von Debil » 21.05.2007 01:17:50

Hi gms, hi nepos

Danke euch fuer die Hilfe. ........... der Fehler ist wohl oberpeinlich :oops:

Debil
do it nasty and dirty

Antworten