Michael: URL auswerten und in Perl Funktion aufrufen &write....

Hi Leute,

bitte helft mir kurz auf die Sprünge:

ich hab eine HTML Seite, die ein perl-Script aufruft mit

... MeineDatei.pl?Funktion1 .....

in der Perl Datei soll zu Beginn durch Auswerten des durch ? angehängten Bestandteils dann die entsprechende Funktion aufgerufen werden in der Form

if    ($in{'start'})    { &start; }
 elsif ($in{'write_head'})   { &write_head; }

usw.

Kann mir bitte jemand sagen, wie ich _genau_ (also vielleicht mit kurzer Hilfe für Perl-Funktion ...?) den angehängten Url-Teil abfragen kann ?

Danke

Michael

  1. Hi, Michael

    ich hab eine HTML Seite, die ein perl-Script aufruft mit
    ... MeineDatei.pl?Funktion1 .....

    Kann mir bitte jemand sagen, wie ich _genau_ (also vielleicht mit kurzer Hilfe für Perl-Funktion ...?) den angehängten Url-Teil abfragen kann ?

    Habe ein wenig gegoogelt (hätte dir auch geholfen) und meine erste Perl-Antwort zusammengestoppelt *stolz*

    Abfrage von /script.cgi?id1=1&id2=2

    #!/usr/bin/perl -w

    use strict;
     use CGI;

    my $query = new CGI;
     my $para1 = $query->param('id1');
     my $para2 = $query->param('id2');

    Jetzt kommt sicher mindestens eine Verbesserung nach, aber die geht mich dann nichts mehr an ;-)

    LG Orlando

    1. Hi,

      danke !!!
      Michael

    2. use Mosche;

      Habe ein wenig gegoogelt (hätte dir auch geholfen) und meine erste Perl-Antwort zusammengestoppelt *stolz*

      Super !

      Jetzt kommt sicher mindestens eine Verbesserung nach, aber die geht mich dann nichts mehr an ;-)

      Du hast es so gewollt :-)

      Abfrage von /script.cgi?id1=1&id2=2

      das muss natürlich

      script.cgi?id1=1&id2=2

      heissen :-)

      *SCNR*

      use Tschoe qw(Matti);

      1. Hi, Matti

        use Mosche;

        Das bedarf allerdings einer Erklärung ;-)

        Habe ein wenig gegoogelt (hätte dir auch geholfen) und meine erste Perl-Antwort zusammengestoppelt *stolz*

        Super !

        *brustheraus*

        Jetzt kommt sicher mindestens eine Verbesserung nach, aber die geht mich dann nichts mehr an ;-)

        Du hast es so gewollt :-)

        Abfrage von /script.cgi?id1=1&id2=2

        das muss natürlich
        script.cgi?id1=1&id2=2
        heissen :-)

        Also, ich bin mir da aber _ziemlich_ sicher, dass es so ist, wie ich es geschrieben habe (& gehört maskiertz), wiewohl ich für Belehrungen in dieser Hinsicht sehr offen bin... trotzdem ich soo gerne rechthabe.

        *SCNR*

        dito *g*

        LG Orlando

        1. use Mosche;

          use Mosche;

          Das bedarf allerdings einer Erklärung ;-)

          Begrüßung auf perlish :-)

          Jetzt kommt sicher mindestens eine Verbesserung nach, aber die geht mich dann nichts mehr an ;-)

          Du hast es so gewollt :-)

          Abfrage von /script.cgi?id1=1&id2=2

          das muss natürlich
          script.cgi?id1=1&id2=2
          heissen :-)

          Also, ich bin mir da aber _ziemlich_ sicher, dass es so ist, wie ich es geschrieben habe (& gehört maskiertz), wiewohl ich für Belehrungen in dieser Hinsicht sehr offen bin... trotzdem ich soo gerne rechthabe.

          Die Maskierung hat in der URL nichts zu suchen, das war alles ...

          use Tschoe qw(matti);

          1. Hi, Matti

            script.cgi?id1=1&id2=2
            script.cgi?id1=1&id2=2

            Die Maskierung hat in der URL nichts zu suchen, das war alles ...

            Hm, du verunsicherst mich noch :)

            http://www.w3.org/TR/xhtml1/ leider kein Anker, suche nach "ampersands"

            Weißt du da mehr als unser aller Tempel des Guten und Reinen? *bg*

            use xhtml strict ;-p
            LG Orlando

            1. use Mosche;

              script.cgi?id1=1&id2=2
              script.cgi?id1=1&id2=2

              Die Maskierung hat in der URL nichts zu suchen, das war alles ...

              Hm, du verunsicherst mich noch :)

              http://www.w3.org/TR/xhtml1/ leider kein Anker, suche nach "ampersands"

              <cite http://www.w3.org/TR/xhtml1/>
              When an attribute value contains an ampersand, it must be expressed as a character entity reference (e.g. "&"). For example, when the href attribute of the a element refers to a CGI script that takes parameters, it must be expressed as http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user rather than as http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user.
              </cite>

              Ich muss korrigieren, dass die URL valide ist. Sie hat aber nicht zu deinem Codeschnippsel gepasst. Deine URL hat nämlich einen Parameter mit einem Wert definiert:

              script.cgi?id1=1&id2=2 ist nämlich

              'id1' => '1&id2=2' während

              script.cgi?id1=1&id2=2

              'id1' => '1' und
              'id2' => '2' ist.

              Da steht nämlich, dass zu Werten gehörende '&' maskiert werden müssen. Du willst eigentlich einen Attributseparator, und dass ist '&', und zwar unmaskiert.

              use Tschoe qw(Matti);

              1. Hi, Matti

                Ich muss korrigieren, dass die URL valide ist.

                Wenigstens ein Teilerfolg ;-)

                Sie hat aber nicht zu deinem Codeschnippsel gepasst.

                Ja, ich denke, jetzt weiß ich, worauf du hinauswillst. Ist mir als Perl-DAU sogar recht klar. Danke! Jetzt kann ich ja entspannt auf die nächste Perl-Frage warten *g*

                LG Orlando

  2. use Mosche;

    Kann mir bitte jemand sagen, wie ich _genau_ (also vielleicht mit kurzer Hilfe für Perl-Funktion ...?) den angehängten Url-Teil abfragen kann ?

    Der "hinten angehängte URL-Teil" (der Query String) steht in $ENV{'QUERY_STRING'}.

    use Tschoe qw(Matti);