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

unbekannte subrountine - hilfe



<< >> 3 Einträge, 1 Seite
jan99
 2008-11-22 16:23
#116536 #116536
User since
2008-09-18
439 Artikel
BenutzerIn
[default_avatar]
Moin !

ich muss Euch nochmal mit meinem Progrämmchen nerven - wie gestern.

Jetzt ist der Code

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl

use strict;
use warnings;
#use LWP::Simple;

# Variablendefinition
my $url='';

# Verzeichnis in welchem ich mich befinden muss
my $pfad='C:/Perl/eg/';
# Definition des Bereiches in GRAD: -6,36.2,-2,37.5
# Liste mit den Defintionen für den Kachel-Download
my $liste='Garmin-Images-4-ES-Andalusien.txt';
# URL zum Verezeichnis mit den Image-Dateien - endet auf BACKSLASH !!!
my $url4image='http://osm.ammit.de/osm/latest/img/';
#Prefix für die Pack-Datei
my $bz_prefix='.bz';


# Programm zum entpaken der bzip2-komprimierten Dateien
# sollteste du installieren, oder etwas anders nutzen.
#quelle: http://www.digistar.com/bzip2/v100/bzip2-100-x86-win32.exe
my $unzip='C:/Perl/eg/gzip -d'; # < Das ist ein Programm, ich glaube nicht, dass es so gefunden wird

# öffnen der Liste mit den Image-Dateien
open(my $fh, '<', $liste) or die "Fehler bei open $liste ($!)\n"; # < immer den Fehlergrund mit ausgeben

# Auslesen der Dateinamen
while(my $kachelname=<$fh>){
chomp($kachelname);
$url=$url4image.$kachelname.$bz_prefix;
print $url;
my ($file)=$url=~m|/([^/]+?)$|;
# etwas ausfuerlichere Ausgabe der Fehler beim Download
# zudem wird jetzt nur entpackt wenn wirklich was herunter geladen wurde.
my $rc=getstore($url, "$pfad$file");
if( is_success($rc)){
system("$unzip $pfad$file") ==0 or warn "Fehler bei $unzip $pfad$file ($@)\n"; # < Fehlergund ausgeben
}else{
warn "Fehler bei download $url nach $pfad$file (".status_message($rc).")\n"; # < Fehlergrund mit ausgeben
}
}
close($fh);


... und bekomme beim Ausführen folgende Meldung:

Undefined subroutne & main::getstore called at xxx.pl line 37, <fh> line1

Kann jemand etwas zur Aufklärung des Falles beitragen ?

Gruß Jan :-)
perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
Antworten mit Zitat
pktm
 2008-11-22 17:48
#116537 #116537
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hoi!

getstore() ist eine Methode aus dem package LWP::Simple. Das hast du aber auskommentiert.
Kommentiere es mal ein. Um zu wissen, welche Funktionen zu woher nimmst kannst du sie entweder voll qualifizieren (z.B. my $result = LWP::Simple::getstore()), über ein Objekt aufrufen, oder zumindest beim Einbinden des packages angeben, was du importierst (und wahrscheinlich benutzt: use LWP::Simple qw/getstore/;

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Antworten mit Zitat
pq
 2008-11-22 19:13
#116538 #116538
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
mehrfachposting, bitte nur dort antworten: http://board.perl-community.de/thread/12804/
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
Antworten mit Zitat
<< >> 3 Einträge, 1 Seite



View all threads created 2008-11-22 16:23.