| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Variableninhalte gehen verloren im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Ich hab hier gerade ein recht seltsames Problem mit einem Perl/CGI-Skript. Situation ist folgende... Das Skript loest zuerstmal eine ...
![]() |
| | #1 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 443 | Variableninhalte gehen verloren Anzeige Ich hab hier gerade ein recht seltsames Problem mit einem Perl/CGI-Skript. Situation ist folgende... Das Skript loest zuerstmal eine ID anhand der User-ID auf: Code: sub char_info
{
...
my $char_id = &char_id($user_id); Code: # charakter-namen aufloesen
my $char_name = &char_name($char_id);
# attribute holen
my %char_attrs = &char_attr($char_id); Code: my %char_skills = &char_skills($char_id); Code: sub char_skills
{
my ($char) = @_;
...
print "char: $char\n";
...
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #2 (permalink) |
| Member of Honour ![]() Registriert seit: 06.10.01 ![]() Likes: 1 | Ich hatte bisher nicht das Vergnügen, mit Perl zu arbeiten, aber dennoch eine Idee; Kann es sein, dass $char_id von char_name() oder char_attr() als eine Art Referenz / Zeiger behandelt wird, so dass der Inhalt (vll. fälschlicher Weise) überschrieben wird? |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 19.07.09 ![]() Likes: 0 | Versuch mal durch (massenhaft) Debugausgaben herauszufinden, wann die ID gelöscht wird. Ich würde auch auf das von little_Newbie beschriebene Problem tippen. Versuch also mal die "böse" Funktion zu isolieren, und paste mal die Funktion oder schau selber ob du dort einen Fehler findest. |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 443 | Das konnte ja nicht das Problem sein, da saemtliche Funktionen den Inhalt von $char_id in eine eigene Variable kopieren und dort damit weiterarbeiten (my $char = @_).Mittlerweile hab ich das Problem aber geloest. Als CGI verhaelt sich Perl offenbar etwas anders als auf der Konsole. Debug-Prints haben daher nichts geholfen, denn diese behaupteten, das $char_id nichtmal bei char_name() ankommt, was aber nicht sein konnte, da die Funktion den gewuenschten Wert zurueck gibt. Im Endeffekt war's dann ein Tipp-Fehler in char_attr(), der die Probleme verursacht hat. Rausgekommen ist das erst, als ich die Rueckgabe der Funktionen mal auf ein Scalar gesetzt hatte anstatt einem Hash und mir alle moeglichen Variablen zurueckgeben lassen hab, so dass ich sie direkt in der Seite ausgeben lassen konnte. Trotzdem danke fuers mitdenken.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Gehen LVM Volumes bein Neuinstallation verloren? | Serow | Linux/UNIX | 0 | 05.05.09 11:19 |
| internetzugangsdaten verloren | loupgarou84 | Die Problemzone | 2 | 01.03.09 17:49 |
| E-Mail gehen verloren - gmail | tanj | Internet Allgemein | 0 | 24.08.07 14:59 |
| Handy verloren | Valentin | HaBo Lounge | 2 | 01.02.07 21:21 |