Perl-Programm startet nicht, warum?

mircojaeger

Member
27 Mai 2009
16
0
Guten Morgen,
ich schreibe ein Perl Programm, welches die Konfig meines Nortel 4550 sichern soll. Dies geschieht aber nicht.

Hier ist der Link von meinem Quelltext bei Rapidshare:
https://rapidshare.com/files/293205672/Skript_forum.pl.html

- Der Switch ist ein Nortel 4550T
- Mein Betriebssystem ist SuSe Linux Enterpise
Server 9
- Betriebssystem des PCs auf dem der TFTP-Server
läuft ist Win XP Sp2

Bei den IP Adressen habe ich aus Sicherheitsgründen die ersten beiden Zahlen durch x ersetzt.

Ich führe mein Programm bei SuSe über das "Terminal-Programm" aus. Dort wird mir nach dem ausführen folgendes angezeigt:

x.x.13.187
Manager
MD5
private


Das "Terminal-Programm" gibt mir keine Fehlermeldung aus. Sondern nur das obige.

Aus Testzwecken habe ich über das Webinterface des 4550 eine ander IP des TFTP-Servers eingetragen, da mein Perl-Programm den TFTP-Server der im Webinterface des 4550 eingetragen ist, mit dem aus dem Perl-Programm ersetzen soll. Dies geschieht aber leider nicht.

Eine manuelle Sicherung des Konfig-Datei funktioniert aber.

Geschrieben habe ich den Quelltext mit "Notepad++".

Bei weiteren benötigten Infos einfach schreiben. Dankeschön vorab.

BITTE NUR ERNSTGEMEINTE UND VORALLEM HILFREICHE ANTWORTEN/KOMMENTARE.DANKE!!!

MfG
mircojaeger
 
Zuletzt bearbeitet:
GGeschrieben habe ich den Quelltext mit "Notepad++".
Aber hoffentlich mit Unix-Zeilenenden gespeichert?
Auf Linux ausführen wollen mit Windoof-Zeilenende Zeichen funktioniert nicht.

Nein, du hast die Datei mit Windoof-Zeilenende (CR|LF) abgespeichert ;)

Nimm auch noch oben use warnings; mit rein, dann erzählt dir perl evtl. auch noch mehr was ihm nicht passt.
 
Was meinst du mit zeilenumbruch?Was soll ich durch was ersetzen? ich bin ein programmier-anfänger und ein perl-laie...

Danke für die änderung mit dem "use warnings;"->wo zeigt mir perls die fehler an? wenn ich das programm per console ausführe?
 
Lies dir auch mal die Doku zum Modul SNMP durch, wie das zu verwenden ist.

Programmieranfänger und gleich perl?

Windoof hat als Zeilenende CR und LF, Unix/Linux nur LF.

In deinem Editor gibts sicher die Funktion zur Dateikonvertierung ;)

Yep, auf der Konsole kommen die Warnings dann raus
 
Welche SNMP-Doku ist denn deines erachtens nach gut? ich habe mehrere gefunden...

Ja ich hab perl gewählt, weil es sich damit am besten realisieren lässt...

Ich finde diese option nicht.

Ich sehe aber keinerlei veränderungen, nach einer ausführung meines Programms.
 
Die Doku die zu deiner Modul-Version passt - auf der Konsole einfach perldoc {Modulname} eingeben oder mal ein man perldoc eintippen und schon weisst du's ;)

Ich verstehs immernoch nicht...


Muss es geben. Andere Kollegen arbeiten hier auch damit... Such mal in der Hilfe.

Ja, ich habe es unter XP mit Notepad++ geschrieben führe es aber auf einer VM mit linux aus.wegen dem use SNMP;
 
Wenn du wirklich perl lernen willst, schau dir im netz die vielen kostenlosen Tutorials an, lies die ausführliche und gute Dokumentation in perl selber (man perldoc), etc.

Mit perl kann man zwar durch benutzen fertiger Module vieles schnell umsetzen, doch völlig ohne Plan gehts nicht. Programmieren (irgendeine Sprache) sollte man dazu schon können.

Nix gegen dich - es würde dir nix bringen wenn ich dir deine Frage beantworte, denn dann würdest du nur das sehen, was du im skript ein paar zeilen zuvor in den Array geschrieben hast.
Mehr verstehen würdest du dann nicht.

Und um dir dein skript fertigzustellen / fertig zu programmieren ist das Forum nicht gedacht... ;)
 
Deine Variante:
PHP:
my $IP_setzen = ['.iso.org.dod.internet.private.enterprises', '.45.1.6.4.2.2.1.5.1 a: x.x.13.174'];
...
print "$IP_setzen";

Neu:
PHP:
foreach (@{$IP_setzen}) {
  print $_;
}
ungetestet, könnte also Fehler bringen.

Wird dir (wenn's funzt) liefern:
.iso.org.dod.internet.private.enterprises
.45.1.6.4.2.2.1.5.1 a: x.x.13.174
 
Zuletzt bearbeitet:
Hier mein neuer Quelltext:
https://rapidshare.com/files/293259839/Skript_forum.pl.html

Schöne wäre es natürlich mit Zeilenumbrüchen nach jedem Print. Ich weiß aber nicht wo ich das \n hinsetze.Hab es schon 2x probiert und jedesmal kam ein fehler...


Kannst du mir nicht bitte einen geänderten Quelltext irgendwo hochladen und mir den geänderten senden. Deine Änderungen ROT färben und eine erklärung wäre traumhaft und sehr wichtig!Danke
 
Sorry, aber da habe ich keinerlei Zeit für.
Lies die Tutorials, Doku's etc.
Lerne programmieren oder beauftrage jemanden der es kann...
Ich mach's nicht.
 
Danke. Du bist der Beste, aber eine Frage habe ich noch. Warum macht das Programm,deiner Meinung nach, nicht das was ich gerne hätte? Was muss ich noch ändern?
 
Weil du dem programm sagen musst was du willst.
Dh du musst programmieren.

Module zu usen und Variablen deklarieren und wieder ausgeben ist ein Teil eines Programms.
Was soll das Programm denn tun mit den Werten/Daten ?
--> Lerne programmieren, lies die Modul-Doku, und dann stell die Frage nochmals.

So... Ende Gelände
Ich kann nicht für dich pinkeln gehen...