Kirstin: Variablen in perl übergeben

hallo,
kann mir jemand weiterhelfen?
ich möchte von einem perlprogramm in ein anderes eine variable übergeben(an die url anhängen)und probiere schon seit stunden.
hilft mir jemand?
grüße, kirstin

  1. Hi,

    ich möchte von einem perlprogramm in ein anderes eine variable übergeben(an die url anhängen)und probiere schon seit stunden.

    es existiert _kein_ Weg, in _keiner_ Sprache, per URL irgendwelche Variablen zu übergeben. Das sind Parameter. Sie haben programmtechnisch nicht die geringste Bedeutung. Jede Programmlogik hat die Möglichkeit, die Parameter auszuwerten und in variablenähnlicher Form zur Verfügung zu stellen. Wer jedoch per se Variablen erwartet, wird niemals zum Erfolg kommen.

    Die sehr schöne Schnittstelle in Perl, um die Parameter und -werte zu erhalten, ist beschrieben in

    perldoc CGI

    Cheatah

    --
    X-Will-Answer-Email: No
    1. mir der url übergeben meinte ich diese art wie es in php problemlos funtioniert.

      <a target="Links2" href="<?php $start = "start.php?nummer=" . $nummer; echo urldecode($start); PHP?>">

      kirstin

      1. Hi,

        mir der url übergeben meinte ich diese art wie es in php problemlos funtioniert.

        dann ist Dein PHP fehlkonfiguriert und stellt somit ein Sicherheitsrisiko dar. Mehr findest Du im Archiv. Übrigens redete ich vom exakt selben.

        Cheatah

        --
        X-Will-Answer-Email: No
        1. also zum rätselraten hab ich heute bestimmt keine lust mehr.
          mir kommt es vor als das du es selber nicht weißt, deswegen ist kein kommentar oft besser.
          dann gute nacht!!!

          1. Hi,

            also zum rätselraten hab ich heute bestimmt keine lust mehr.

            das brauchst Du auch nicht, ich hab Dir schließlich schon in der ersten Antwort gesagt, wo Du die Lösung nachlesen sollst.

            mir kommt es vor als das du es selber nicht weißt, deswegen ist kein kommentar oft besser.

            Inquiry: Laus, Leber? Denk bitte nebenbei auch darüber nach, wer hier was von wem will.

            Cheatah

            --
            X-Will-Answer-Email: No
        2. Hi,

          dann ist Dein PHP fehlkonfiguriert und stellt somit ein Sicherheitsrisiko dar. Mehr findest Du im Archiv. Übrigens redete ich vom exakt selben.

          Diese Aussage ist nicht richtig. PHP ist korrekt konfiguriert - jedoch nicht sicher. Eine Fehlkonfiguration hätte zur Folge, das PHP nicht funktionieren würde.

          Es ist - mal abgesehen von der Pedanterie - absolut nicht zu empfehlen diese Konfigurationseinstellung beizubehalten, da sie ein massives Sicherheitsproblem darstellt.

          Gruß

          Axel

          1. Hi,

            dann ist Dein PHP fehlkonfiguriert und stellt somit ein Sicherheitsrisiko dar. Mehr findest Du im Archiv. Übrigens redete ich vom exakt selben.

            Diese Aussage ist nicht richtig. PHP ist korrekt konfiguriert - jedoch nicht sicher. Eine Fehlkonfiguration hätte zur Folge, das PHP nicht funktionieren würde.

            okay, einverstanden. Meiner Ansicht nach ist das Einkonfigurieren eines Sicherheitsrisikos ein Fehler; dies als Fehlkonfiguration zu bezeichnen ist aber in der Tat unkorrekt. Ich gelobe Besserung.

            Cheatah

            --
            X-Will-Answer-Email: No
    2. Hallo,

      Kleine Korrektur:

      Es ist möglich, serialisierte Variablen zu übergeben. Dabei bleibt Typisierung und Wert erhalten. Sogar das Referenzieren einer entfernt liegenden Variable ist möglich. (s. .NET-Remoting - hier wird auf Wunsch SOAP als Transporthülle verwendet)

      Das geht nicht mit Perl - hier werden lediglich "Übergabeparameter" gesendet, die in Varaiblen trasnferiert werden. Es ist nicht o.w. möglich hier eine Typisierung zu übermitteln. Auch das Referenzieren einer entfernt liegenden Variablen ist nicht o.w. möglich.

      Mittels PHP wäre es möglich ein Objekt zu serialisieren und als Parameter zu übergeben - auf der Empfängerseite müsste das Objekt dann wieder deserialisiert werden.

      Gruß

      Axel

  2. ich gehe mal davon aus das

    use CGI qw(standard); #kein problem ist

    dann:

    $query = new CGI;

    mit:

    $wert = $query->param('wert')

    erhälst du dann den wert von wert :)

    Dabei ist es egal ob die werte via URL oder POST (Formular) ankommen. Das macht das modul automatisch.

    Übergen geht ganz prima via hidden fledern in Formularen
    <input type="hidden"> name="wert" value="100">

    oder du hängst es nach einem fragezeichen an die URL an

    index2.html?wert=100

    mehrere Parameter werden mit dem & Zeichen getrennt.
    index2.html?werta=100&wertb=200

    Hast du freitext den du übermitteln wilst solltest du diesesn "escapen". Das geht mit dem modul:

    use URI::Escape;

    $safe = uri_escape($wert);

    --> print "index2.html?wert=$save";

    achja schalt den Taint modus an.
    #!/usr/bin/perl -T

    oder sorge dafür das du alle parameter die dein script empfängst genau überprüfst.

    Perl is like nuclear power... it can be used for god or evil.
    (Frei nach Scott Adams)

    RTFM:

    perldoc CGI
    perldoc URI::Escape

    Immer gut wenns möglich ist: www.masonhq.com