Perldebugger

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Perldebugger

Postby erde2000 » 29. August 2010 11:06

Hallo zusammen,

wie installiere ich im XAMPP den Perldebugger? bzw. was muß ich in meinem Programm angeben, damit dieser aktiviert werden kann?

Ich habe das Gästebuch von Matt's Script Archiv in XAMPP eingebunden und möchte es austesten.
Er findet die Rücksprungsadresse nicht, (ERROR 404) wenn man darin den Namen oder den Kommentar nicht eingibt.
Dies möchte ich austesten.

Bin neu in Perl...aber habe gute Kenntnisse von CLIST und REXX...alte Skriptsprachen, die aber Perl sehr ähnlich sind. aber in diesem Fall mir nicht nützen.
Ganz abgesehen ist für die weitere Einarbeitung ist so ein Debugger natürlich immer wertvoll.

Die Abfragemöglichkeiten für danach, habe ich in " http://debugger.perl.org/580/perldebug.html" gefunden, aber mit der Initialisierung und Implementierug des Debuggers klappt es bei mir nicht.

Nach der Anpassung der Inputparameter für localhost sieht der Header bis zum Einlesen des Inputs so aus:

#!"C:\xampp\perl\bin\perl.exe"
##############################################################################
# Guestbook Version 2.3.1 #
# Copyright 1996 Matt Wright mattw@scriptarchive.com #
# Created 4/21/95 Last Modified 10/29/95 #
# Scripts Archive at: http://www.scriptarchive.com/ #
##############################################################################
# COPYRIGHT NOTICE #
# Copyright 1996 Matthew M. Wright All Rights Reserved. #
# #
# Guestbook may be used and modified free of charge by anyone so long as #
# this copyright notice and the comments above remain intact. By using this #
# code you agree to indemnify Matthew M. Wright from any liability that #
# might arise from it's use. #
# #
# Selling the code for this program without prior written consent is #
# expressly forbidden. In other words, please ask first before you try and #
# make money off of my program. #
# #
# Obtain permission before redistributing this software over the Internet or #
# in any other medium. In all cases copyright and header must remain intact.#
##############################################################################
# Set Variables

$guestbookurl = "http://localhost/guestbook.html";
$guestbookreal = "C:/xampp/htdocs/guestbook.html";
$guestlog = "C:/xampp/htdocs/guestlog.html";
$cgiurl = "http://localhost/xampp/htdocs/xampp/guestbook.pl";
$date_command = "/usr/bin/date";

# Set Your Options:
$mail = 0; # 1 = Yes; 0 = No
$uselog = 1; # 1 = Yes; 0 = No
$linkmail = 1; # 1 = Yes; 0 = No
$separator = 1; # 1 = <hr>; 0 = <p>
$redirection = 0; # 1 = Yes; 0 = No
$entry_order = 1; # 1 = Newest entries added first;
# 0 = Newest Entries added last.
$remote_mail = 0; # 1 = Yes; 0 = No
$allow_html = 1; # 1 = Yes; 0 = No
$line_breaks = 0; # 1 = Yes; 0 = No

# If you answered 1 to $mail or $remote_mail you will need to fill out
# these variables below:
$mailprog = "C:/xampp/sendmail/sendmail.exe"; # <------das klappt natürlich auch nicht, wenn ich die Variablen $mail=1und $remote_mail =1
# aktiviere....ist aber ein anderes Problem :)
$recipient = 'erde2000@hotmail.com';

# Done
##############################################################################

# Get the Date for Entry
$date = `$date_command +"%A, %B %d, %Y at %T (%Z)"`; chop($date);
$shortdate = `$date_command +"%D %T %Z"`; chop($shortdate);

# Get the input
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
#-------------------------------------------------------------
.etc etc

Wer kann mir weiterhelfen??

Liebe Grüße
erde
Last edited by erde2000 on 29. August 2010 13:34, edited 1 time in total.
erde2000
 
Posts: 21
Joined: 28. August 2010 00:44
Location: Riehen

Re: Perldebugger

Postby erde2000 » 29. August 2010 13:42

Hallo wole,

ich habe das Perlprogramme im Unterverzeichnis htdocs/xampp angelegt, wo auch die anderen Beispiel-Gästebücher abgelegt wurden .
In htdocs sind alle zu testenden htmls abgelegt.

Das Programm läuft ja, wenn man alles richtig eingibt.. sowohl name wie auch kommentar.... wenn eines von beiden nicht angegeben wird gibts nach der Korrektur der fehlenden Eingabe im Pgm die Errormeldung. :) dem will ich mit dem Debugger auf die Spur kommen

Gruß
erde
erde2000
 
Posts: 21
Joined: 28. August 2010 00:44
Location: Riehen

Re: Perldebugger

Postby Nobbie » 29. August 2010 14:42

wole wrote:Perl-Scripte müssen im (definierten) cgi-Verteichnis ausgeführt werden.
Das ist bei xampp standardmässig {LW}:\xampp\cgi-bin\

Oder du definierst ein cgi-bin direkt in htdocs

Das da scheint falsch zu sein:
erde2000 wrote:$cgiurl = "http://localhost/xampp/htdocs/xampp/guestbook.pl";

es sei den du hast zusätzlich die Ordner -/xampp/htdocs/xampp/- in htdocs angelegt.


Das stimmt alles nicht.

Xampp wird standardmäßig so ausgeliefert, dass CGI Scripte auch im DocumentRoot (und darunter) ausgeführt werden:

Options Indexes FollowSymLinks Includes ExecCGI
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Re: Perldebugger

Postby erde2000 » 29. August 2010 15:38

Hier... ganz unten unter "Grundlegende Fragen" steht es gut beschrieben, was möglich ist.

http://www.apachefriends.org/de/xampp-windows.html


Java-Scripte, (Endung .js) scripte nicht die PGM-Sprache, steht nichts.
Oder ist das nur mit dem Addon Tomcat möglich... als Nebenfrage sozusagen :-)

Gruß
erde
erde2000
 
Posts: 21
Joined: 28. August 2010 00:44
Location: Riehen

Re: Perldebugger

Postby Altrea » 29. August 2010 15:46

JavaScript darfst du nicht mit JavaServerPages (JSP) oder gar Java verwechseln.
JavaScript ist eine Clientseitige Scriptsprache, die mit dem Server praktisch nichts zu tun hat, denn sie wird im Browser des Client ausgeführt.
JavaServerPages werden im Server ausgeführt. Dafür ist Tomcat zuständig.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8293
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Perldebugger

Postby erde2000 » 29. August 2010 15:55

Hallo Altrea :-)

ok, d.h. diese eingebetteten Skripte sollten dann problemlos im HMTL ( in htdocs eingebettet unter xampp) ausgeführt werden können.
Ich frage da ich im htdocs/xampp ein xampp.js entdeckt habe. Bin dran ein bekanntes Beispiel auszutesten "quadrat0.html" das auf ein Java-Script zugreift.
Im Web läuft es nicht. Versuchte es mit "Firebug" Add-On von Firefox, weiterzukommen. Irgendwie verweigert er mir die Ausgabe-Anweisung "alert" im JS , salopp gesagt :)
Warum?

Die HTML mit dem Script


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>quadrat0</title>
<script type="text/javascript">
<!--
function Quadrat() {
var Ergebnis = document.Formular.Eingabe.value * document.Formular.Eingabe.value;
alert("Das Quadrat von " + document.Formular.Eingabe.value + " = " + Ergebnis);
}
//-->
</script>
</head>
<body>
<form name="Formular" action=""> <input size="3"
name="Eingabe" type="text"><input
value="Quadrat errechnen" onclick="Quadrat()"
type="button"></form>
<br>
<script src="quadrat.js" type="text/javascript"></script>
<form name="Formular" action=""> <input
name="Eingabe" size="3" type="text"> <input
value="Quadrat errechnen" onclick="Quadrat()"
type="button"></form>
</body>
</html>


Gruß
erde
erde2000
 
Posts: 21
Joined: 28. August 2010 00:44
Location: Riehen

Re: Perldebugger

Postby Altrea » 29. August 2010 16:42

Puh, wo soll ich da anfangen...

Zuerst einmal hast du mittendrin nochmal ein JavaScript eingebunden.
Hier musst du natürlich darauf achten, dass eingebundene JavaScripte sich nicht mit in der Datei befindlichen überschneiden.

Dann musst du darauf achten, dass du die eindeutige Identifizierung beibehälst.
So hast du zum Beispiel zweimal ein form mit dem Namen Formular, versuchst aber einfach mit .Formular darauf zugreifen. JS kann nicht wissen, welches du davon willst.
Entweder identifizierst du mehrmalig vorkommene gleichnamige Elemente über einen Key (.Formular[0], .Formular[1], etc.)
oder du nutzt die in JavaScript existierenden Funktionen wie getElementsByName()
Oder du nutzt direkt eindeutige IDs und verwendest getElementByID()
... viele Wege führen nach Rom.

Auf jeden Fall hat das nichts mit irgendeinem Server zu tun, denn das JS wird 1 zu 1 an den Client weitergereicht und erst dieser entscheidet was zu tun ist.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8293
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Perldebugger

Postby erde2000 » 29. August 2010 18:22

Hallo Altrea,

ja, das war des Guten zuviel :-). Es hat auch geklappt als ich den Aufruf von quadrat.js entnommen habe.
Muss die beiden natürlich davon trennen oder die Variablen varieren.
Danke :-)

Mal schauen ob mir jemand wegen meinem wirklichen Problem ... den Perldebugger... weiter helfen kann.

Nochmals vielen Dank und

Gruß
erde
erde2000
 
Posts: 21
Joined: 28. August 2010 00:44
Location: Riehen

Re: Perldebugger

Postby erde2000 » 29. August 2010 20:53

Ossa :D es läuft... so ein Patzer :lol:
habe ich vor lauter xampp-Verzeichnissen übergexamppt .
Ja, nun laufen auch alle möglichen und unmöglichen Konstellationen .
Dieses Problem ist nun gelöst, da braucht es dafür im Nachhinein eigentlich auch keinen Debugger. :wink:

Trotzdem bleibt mein Problem bzgl des Perldebuggers noch offen.

Jedenfalls vielen herzlichen Dank euch allen

Gruß
erde

.
erde2000
 
Posts: 21
Joined: 28. August 2010 00:44
Location: Riehen


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 11 guests