Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Viele kleine Fehler in meinem erstem Perl Script

Frage Entwicklung Perl

Mitglied: Kingpin90

Kingpin90 (Level 1) - Jetzt verbinden

10.08.2008, aktualisiert 28.08.2008, 3536 Aufrufe, 2 Kommentare

Hallo zusammen,

ich habe mir heute mein erstes Perl Script zusammen gebastelt.
Leider hat es noch einige Fehler und startet dem zufolge auch nicht.
Wäre echt nett wenn mal jemand von euch drüber schaut und mir sagt, wo die Fehler sind.

Vielen Dank im vorraus.

Kingpin90

01.
#! /usr/bin/perl 
02.
 
03.
use strict; 
04.
use warnings; 
05.
use DBI; 
06.
 
07.
my $user = 'username'; 
08.
my $pass = 'userpasswort'; 
09.
my $db = 'datenbankname'; 
10.
my $host = 'localhost'; 
11.
my $driver = “DBI:mysql:$db:$host“; 
12.
my $dbh = DBI->connect($driver,$user,$pass) or die $DBI::errstr; 
13.
 
14.
my $quelle =  
15.
my $ziel =  
16.
 
17.
my $aktuell = 1; 
18.
 
19.
######################################### 
20.
#### Zieltabelle erstellen           #### 
21.
######################################### 
22.
 
23.
print "Erstelle Zieltabelle..."; 
24.
 
25.
my $erstellen = CREATE TABLE $ziel ( 
26.
  		`ANREDE` varchar(10) default NULL, 
27.
  		`VORNAME` varchar(255) default NULL, 
28.
  		`NAME` varchar(255) default NULL, 
29.
  		`ZUSATZ` varchar(255) default NULL, 
30.
  		`STRASSE` varchar(50) default NULL, 
31.
  		`HAUSNR` varchar(10) default NULL, 
32.
  		`STRASSE HAUSNR` varchar(10) default NULL, 
33.
  		`ORTSTEIL` varchar(50) default NULL, 
34.
  		`D` varchar(1) default NULL, 
35.
  		`PLZ` varchar(5) default NULL, 
36.
  		`ORT` varchar(50) default NULL, 
37.
  		`TELZUSATZ` varchar(10) default NULL, 
38.
  		`VORWAHL` varchar(10) default NULL, 
39.
  		`TELEFON` varchar(30) default NULL, 
40.
  		`VORWAHL TELEFON` varchar(30) default NULL 
41.
		) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
42.
 
43.
my $sth = $dbh->prepare($erstellen) or die $DBI::errstr; 
44.
$sth->execute() or die $DBI::errstr; 
45.
 
46.
print "OK \n"; 
47.
 
48.
######################################### 
49.
#### Anzahl der Quelldaten           #### 
50.
######################################### 
51.
 
52.
print "Stelle Anzahl der Quelldaten fest..."; 
53.
 
54.
my $quelldaten = 'SELECT COUNT * FROM $quelle'; 
55.
 
56.
my $sth = $dbh->prepare($guelldaten) or die $DBI::errstr; 
57.
$sth->execute() or die $DBI::errstr; 
58.
$gesamt=$sth->fetchrow_array; 
59.
 
60.
print "OK \n"; 
61.
 
62.
######################################### 
63.
#### Quelldaten laden                #### 
64.
######################################### 
65.
 
66.
print "Lade Quelldaten aus Tabelle..."; 
67.
 
68.
my $quelldaten = 'SELECT * FROM $quelle'; 
69.
 
70.
my $sth = $dbh->prepare($guelldaten) or die $DBI::errstr; 
71.
$sth->execute() or die $DBI::errstr; 
72.
$zeiger = $dbh->selectall_arrayref($quelldaten); 
73.
 
74.
print "OK \n"; 
75.
 
76.
######################################### 
77.
#### Beginn der Datenverarbeitung    #### 
78.
######################################### 
79.
 
80.
print "Beginne mit der Verarbeitung der Daten..."; 
81.
print "OK \n"; 
82.
 
83.
foreach $felder(@$zeiger) 
84.
85.
    @ergebnis=@$felder; 
86.
 
87.
my $abfrage = 	INSERT INTO $ziel 
88.
		SELECT 
89.
		$quelle.ANREDE, 
90.
		$quelle.VORNAME, 
91.
		$quelle.NAME, 
92.
		$quelle.ZUSATZ, 
93.
		$quelle.STRASSE, 
94.
		$quelle.HAUSNR, 
95.
		$quelle.`STRASSE HAUSNR`, 
96.
		$quelle.ORTSTEIL, 
97.
		$quelle.D, 
98.
		$quelle.PLZ, 
99.
		$quelle.ORT, 
100.
		$quelle.TELZUSATZ, 
101.
		$quelle.VORWAHL, 
102.
		$quelle.TELEFON, 
103.
		$quelle.`VORWAHL TELEFON`, 
104.
		FROM 
105.
		$quelle 
106.
		WHERE 
107.
		$quelle.PLZ = $ergebnis[1] AND 
108.
		$quelle.STRASSE = $ergebnis[2] AND 
109.
		$quelle.HAUSNR = $ergebnis[3]; 
110.
 
111.
my $sth = $dbh->prepare($abfrage) or die $DBI::errstr; 
112.
$sth->execute() or die $DBI::errstr; 
113.
 
114.
my $aktuell = $aktuell +1; 
115.
 
116.
print "Bearbeite Datensatz $aktuell von $gesamt \n"; 
117.
}
Mitglied: Natureshadow
12.08.2008 um 09:23 Uhr
Hallo Kingpin90,

bevor ich ins Detail gehe, gibt's erstmal Schelte - nicht persönlich nehmen sondern drüber nachdenken:

Du schreibst, das wäre dein erstes Perl-Script. Ich halte es nicht für sinnvoll, direkt mit MySQL & Co. anzufangen. Auch wenn es unspektakulär erscheint, helfen Scripts wie "Hallo Welt", ein kleiner Rechner und sowas unheimlich weiter, um die Grundlagen zu erleernen. Denn dein geposteter Code zeugt davon, dass du diese nicht ansatzweise beherrschst. Der größte Teil deines Scripts macht einen eher gedankenlos zusammenkopierten Eindruck oder zumindest hast du da Beispielcode zusammengeschraubt, ohne ihn wirklich zu verstehen.

Außerdem gibt der Perl-Interpreter garantiert genügend Meldungen aus - erst recht dank deinem "use strict; use warnings;", selbst ohne wirkliche Fehler dürfte das schon ne ganze Menge werfen. Damit kannst du zunächst mal selber schauen und das wichtigste davon auch hier posten, um es möglichen Helfern einfacher zu machen.

Nun aber zu deinem Script, es gibt ein paar Dinge, die mir beim Überfliegen auffallen, ohne das Script selber zu testen:

Wieso wird einer Variablen in Z. 14/15 nach dem = plötzlich kein Wert mehr zugewiesen, und wieso werden Stattements da neuerdings nicht mehr mit ; abgeschlossen?

Wieso werden Strings in deinen Abfragen, die in Z. 25 respektive 87 beginnen, plötzlich nicht mehr in Gänsefüßchen gesetzt?

Grüße,
Nik
Bitte warten ..
Mitglied: 6890
28.08.2008 um 22:20 Uhr
nur 1 tip:

perl -c script

das sollte reichen um die fehler zu finden.

mfg
Bitte warten ..
Ähnliche Inhalte
Perl
Perl script zur Auswertung einer Telefonanlage
gelöst Frage von Fl0wMAGPerl2 Kommentare

Hallo leute, ich bin seit einiger Zeit in der Ausbildung zum Systemintegrator und soll da doch bitte mal in ...

Perl
Perl Verzeichnis auslesen und erste Datei zurückgeben
gelöst Frage von moritzhdPerl3 Kommentare

Hey, ich habe ein Problem. Ich möchte gerne eine .csv Datei zippen. Die .csv Datei und mein Perl Programm ...

Server
Bash, Perl, Python Scripts in Großkunden-Rechenzentren
Frage von istike2Server1 Kommentar

Hallo, setzt jemand aktiv in Kundensystemen Perl, Bash und Python-Scripten ein? Ich hätte hier ein Projekt, wo ich 1-2 ...

Windows Server
Login Powershell Script Fehler
Frage von agnostikerWindows Server3 Kommentare

Hi, eigentlich wollte ich nur ein simples Script verfassen welches nach einem Erfolgreichen Anmelden eines Users dessen Workstation und ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 6 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 13 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless17 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...