juha: HTML in PERL-Script / Link

Hallo Zusammen

Diese Frage stellte ich bereits einmal vor längerer Zeit,
Folgend möchte ich aus meinem Perlprogramm einen Link erstellen, welcherm, wenn er angeklickt wird, in die if abfrage unterhalb geht, was ist falsch? Wenn ich es ausführe, kommt anstelle "Wochenansicht wird angezeigt" gar nichts, nicht einmal eine Fehlermeldung!

Grüsse
Juha

print "<li><a href="#zeit.cgi?mode=uebersicht">$hash_pers->{pers_name} $hash_pers->{pers_vorname}</a>";

if($in{mode} eq "wochenuebersicht")
{
 print "Wochenansicht wird angezeigt";
}

  1. Moin, moin!

    Wenn "mode" auf "uebersicht" gesetzt wird, passiert in der if-Abfrage natürlich nichts, denn dort wird mit "wochenuebersicht" verglichen.

    Und dann ist mir die Bedeutung des "#" im Links nicht ganz klar...

    Norbert

    1. Hallo

      Tja, das mit uebersicht und wochenuebersicht habe ich behoben, wieso ich "#" in meinem Link habe, dies habe ich irgendwo abgeschaut, wenn ich kein "#" dort hinzugfüge sehe ich nicht einmal die Links!

      Grüsse juha

      Moin, moin!

      Wenn "mode" auf "uebersicht" gesetzt wird, passiert in der if-Abfrage natürlich nichts, denn dort wird mit "wochenuebersicht" verglichen.

      Und dann ist mir die Bedeutung des "#" im Links nicht ganz klar...

      Norbert

      1. Moin, noch mal!

        Baue direkt vor der if-Anweisung doch mal einen Befehl ein, der Dir den Inhalt von $in{mode} ausgibt:

        print "*".$in{mode}."*\n";

        Die Sternchen sollen dabei Anfang und Ende markieren, um zum Beispiel auch Leerzeichen zu bemerken. So findest Du heraus, welche Zeichenketten Du eigentlich vergleichst (und nicht, welche Du zu vergleichen glaubst).

        Norbert

        1. Hallo Norbert, hallo Juha

          Baue direkt vor der if-Anweisung doch mal einen Befehl ein, der Dir den Inhalt von $in{mode} ausgibt:

          print "*".$in{mode}."*\n";

          Die Sternchen sollen dabei Anfang und Ende markieren, um zum Beispiel auch Leerzeichen zu bemerken. So findest Du heraus, welche Zeichenketten Du eigentlich vergleichst (und nicht, welche Du zu vergleichen glaubst).

          Vorzugsweise würde ich das Modul Data::Dumper benutzen.

          use Data::Dumper;
          print "<pre>",Dumper(%in),"</pre>";

          Warum, wenn es auch so geht, fragst du dich sicherlich. Weil Data::Dumper wesentlich universeller ist, es kann dir jede Art von Variablen zeigen (und man kann es sogar zur Speicherung  einsetzen, siehe hierzu O'Reilly Perl/DBI).

          Tschö Matti

  2. Mosche

    Wenn ich es ausführe, kommt anstelle "Wochenansicht wird angezeigt"

    href="#zeit.cgi?mode=uebersicht"
    if($in{mode} eq "wochenuebersicht")

    Einmal hast du als Parameter mode = uebersicht, deine if-Abfrage fragt aber nach wochenuebersicht.

    Tschö Matti