DrJekyll98: Perl in eine .pl-Datei schreiben lassen

Hallo, ich habe mal wieder eine Frage: Ist es möglich, dass ich ein Perl-Script ausführe, welches dann in eine andere .pl-Datei etwas hineinschreibt. Es geht hier darum eine Information von einer Website über ein Perl-Script in eine Datenbank(Prolog) hineinzuschreiben. Ist das möglich, wenn ja wie?

Danke im Voraus VG

  1. Hi,

    Ist es möglich, dass ich ein Perl-Script ausführe, welches dann in eine andere .pl-Datei etwas hineinschreibt.

    üblicherweise beendet man Fragen mit einem Fragezeichen. Oder nicht?
    Anyway ... ich habe keine Ahnung von Perl, aber die Antowrt kann nur lauten: Ja, selbstverständlich.

    Es geht hier darum eine Information von einer Website über ein Perl-Script in eine Datenbank(Prolog) hineinzuschreiben. Ist das möglich, wenn ja wie?

    Ich verstehe nicht, wo dein Verständnisproblem liegt. Ein Perl-Script ist eine Datei wie jede andere auch, also kann man sie auch mit den üblichen Dateifunktionen bearbeiten.

    Wenn dir mit dieser trivialen Antwort nicht geholfen ist (was ich fast vermute), dann solltest du das Problem etwas genauer schildern.

    So long,
     Martin

    --
    Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
    - Douglas Adams, The Hitchhiker's Guide To The Galaxy
    1. Ein Perl-Script ist eine Datei wie jede andere auch

      Er möchte in eine Prolog-Datenbank schreiben, nicht in eine Perl-Datei. Prolog- und Perl-Programmdateien haben zufälligerweise die gleiche Dateiendung. Das gesagte von dir gilt natürlich trotzdem, aber um Prolog-Datenbanken zu befüllen gibt es bessere Methoden als die Prolog-Programmdatei zu modifizieren.

      1. Hi,

        Ein Perl-Script ist eine Datei wie jede andere auch

        Er möchte in eine Prolog-Datenbank schreiben, nicht in eine Perl-Datei. Prolog- und Perl-Programmdateien haben zufälligerweise die gleiche Dateiendung.

        Dr. Jekyll erwähnt aber selbst zweimal "Perl-Script" in seiner Frage, und hat auch das Tag perl benutzt.

        cu,
        Andreas a/k/a MudGuard

        1. Hallo,

          Dr. Jekyll erwähnt aber selbst zweimal "Perl-Script" in seiner Frage, und hat auch das Tag perl benutzt.

          Ein Prolog-Tag gab es bis eben ja auch nicht!

          Gruß
          Kalk

        2. Dr. Jekyll erwähnt aber selbst zweimal "Perl-Script" in seiner Frage, und hat auch das Tag perl benutzt.

          Deswegen wollte ich das Missverständnis auflösen ;) Jekyll schrieb:

          Es geht hier darum eine Information von einer Website über ein Perl-Script in eine Datenbank(Prolog) hineinzuschreiben.

          (Hervorhebung von mir) Es sind also Perl und Prolog im Spiel. Aber da es offenbar darum geht eine neu gewonnene Information in die Datenbank zu schreiben, ging es vermutlich darum die Prolog-Programmdatei und nicht die Perl-Programmdatei zu verändern.

          Prolog-Programmdateien sind für eine Prolog-Datenbank nichts anderes als deren initialer Zustand. Man könnte natürlich bei jedem Bekanntwerden neuer Informationen die Prolog-Programmdatei ändern und immer wieder eine neue Datenbank mit dem erwünschten Zustand erzeugen. Aber da Prolog hauptsächlich für Expertensysteme benutzt wird ist dieses Vorgehen eher untypisch. Expertensysteme werden über lange Zeiträume von Experten befüttert. Man geht deshalb nicht anders wie bei anderen Datenbanken auch vor: man verbindet sich mit ihr und fügt die Daten zur Laufzeit hinzu.

      2. Hallo,

        Ein Perl-Script ist eine Datei wie jede andere auch

        Er möchte in eine Prolog-Datenbank schreiben, nicht in eine Perl-Datei.

        woraus liest du das ab? Ich las:

        [...] ein Perl-Script ausführe, welches dann in eine andere .pl-Datei etwas hineinschreibt.

        Das hört sich für mich an, als wolle er eine Perl-Scriptdatei durch ein anderes Script modifizieren. Den Hinweis, dass das Modifizieren von Programm/Scriptcode durch das Programm selbst gern für Komplikationen sorgt ("selbstmodifizierender Code"), habe ich mir an der Stelle noch verkniffen, weil ich so gut wie nichts über die eigentliche Absicht weiß.

        Prolog- und Perl-Programmdateien haben zufälligerweise die gleiche Dateiendung.

        Das wusste ich nicht - aber selbst mit diesem Wissen liest sich das Startposting für mich so, als wolle der OP Perl-Code modifizieren.

        Das gesagte von dir gilt natürlich trotzdem, aber um Prolog-Datenbanken zu befüllen gibt es bessere Methoden als die Prolog-Programmdatei zu modifizieren.

        Ja, da hast du sicher recht.

        So long,
         Martin

        --
        Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
        - Douglas Adams, The Hitchhiker's Guide To The Galaxy
        1. Er möchte in eine Prolog-Datenbank schreiben, nicht in eine Perl-Datei.

          woraus liest du das ab?

          Reicht dir die Antwort, die ich MudGuard gegeben habe auch zur Beantwortung deiner Frage aus?

          Prolog- und Perl-Programmdateien haben zufälligerweise die gleiche Dateiendung.

          Das wusste ich nicht - aber selbst mit diesem Wissen liest sich das Startposting für mich so, als wolle der OP Perl-Code modifizieren.

          Er möchte eine neue Information in die Prolog-Datenbank schreiben. Und dabei hat er die Datenbank mit der besagten .pl-Datei identifiziert - was unter Prolog-Nutzern auch nicht unüblich ist. Anders wüsste ich sein Posting nicht zu interpretieren, der Fall scheint mir ziemlich klar zu sein.

  2. Hallo und guten Tag,

    Ist es möglich, dass ich ein Perl-Script ausführe, welches dann in eine andere .pl-Datei etwas hineinschreibt. Es geht hier darum eine Information von einer Website über ein Perl-Script in eine Datenbank(Prolog) hineinzuschreiben. Ist das möglich, wenn ja wie?

    Da gibts schon 'was,
    von selfHTML:

    Perl Dateifunktionen

    Und wenn Du das nächste Mal etwas wissen willst, dann frag gerne wieder. Und wenn Du es eilig hast, dann kannst Du auch schon mal die Suche vom Wiki benutzen. Die gibt Dir auf viele Fragen schon erschöpfend Antwort ;-)

    Grüße
    TS

    --
    es wachse der Freifunk
    http://freifunk-oberharz.de
  3. Ist es möglich, dass ich ein Perl-Script ausführe, welches dann in eine andere .pl-Datei etwas hineinschreibt. Es geht hier darum eine Information von einer Website über ein Perl-Script in eine Datenbank(Prolog) hineinzuschreiben. Ist das möglich, wenn ja wie?

    Das ginge, aber es wäre schlechter Stil, denn dann müsste das Prolog-Programm jedesmal neugestartet werden, wenn eine neue Information eintrifft, und dann verliert es seinen Laufzeit-Zustand. Die elegante Lösung wäre es, die Information mit Prolog zur Laufzeit abzuholen und der Datenbank hinzuzufügen. Prolog kennt die Prädikate asserta/1, assertz/1, usw. die immer bewiesen werden können und als Seiteneffekt den übergebenen Term der Datenbank dynamisch hinzufügen. Um die Information abzuholen, müsste man wissen, wo die Information ursprünglich herkommt.

  4. Hallo, ich habe mal wieder eine Frage: Ist es möglich, dass ich ein Perl-Script ausführe, welches dann in eine andere .pl-Datei etwas hineinschreibt. Es geht hier darum eine Information von einer Website über ein Perl-Script in eine Datenbank(Prolog) hineinzuschreiben. Ist das möglich, wenn ja wie?

    Guckst Du CPAN

  5. Hallo, ich habe mal wieder eine Frage: Ist es möglich, dass ich ein Perl-Script ausführe, welches dann in eine andere .pl-Datei etwas hineinschreibt. Es geht hier darum eine Information von einer Website über ein Perl-Script in eine Datenbank(Prolog) hineinzuschreiben. Ist das möglich, wenn ja wie?

    Danke im Voraus VG

    Also: Ich habe ein Perl-Script, welches verschiedene Informationen von einer HTML-Seite bekommt(durch Eingaben(z.b. Benutzername, Jahreszahlen), Buttons, etc.), diese Informationen sollen in einer Prolog-Datenbank gespeichert werden, um sie dann später besser Auswerten zu können (wegen Altersgruppen, erreichten Punkten, etc.). Also würde es mir darum gehen, dass ich diese Datenbank am Ende der Versuchsperiode kopiere und damit die Ergebnisse auswerte.

    Bis jetzt habe ich es nur probeweise so versucht (um zu testen, ob ich es hinbekomme das Perlprogramm etwas in eine Datenbank schreiben zu lassen):

    open (DATEN, "datenbank.pl") or die $!; print DATEN "user(15,73,mustermann).", "\n"; close (DATEN); END

    dieses habe ich dann mit cmd ausgeführt, um zu testen, allerdings kam dann in cmd die Meldung "Filehandle DATEN opened only for input at daten.pl line 6" und in der Prolog-Datenbank änderte sich nichts.

    VG

    1. Hi,

      open (DATEN, "datenbank.pl") or die $!;

      dieses habe ich dann mit cmd ausgeführt, um zu testen, allerdings kam dann in cmd die Meldung "Filehandle DATEN opened only for input at daten.pl line 6" und in der Prolog-Datenbank änderte sich nichts.

      dann solltest Du die Doku zu "open" nochmal lesen. also

      perldoc open
      

      auf der Kommandozeile ...

      cu,
      Andreas a/k/a MudGuard

      1. Nimm nicht den Modus ">"...

        1. Nimm nicht den Modus ">"...

          Ne, sowieso nicht, sondern:

          use IO::File; # importiert Konstanten siehe untenstehend
          
          my $fh = IO::File->new; # lexikalisches Filehandle
          $fh->open('myfile', O_CREAT|O_BINARY|O_RDWR) || die $!;
          $fh->close();
          

          PS: Ihr solltet mal den Benutzer darauf hinweisen, dass seine Eingaben bereits beim Editieren eines Beitrages ungefragt zum Server gesendet werden!

          1. Hallo pl,

            PS: Ihr solltet mal den Benutzer darauf hinweisen, dass seine Eingaben bereits beim Editieren eines Beitrages ungefragt zum Server gesendet werden!

            @Christian Kruse - stimmt das? Abgesehen davon, meint pl bestimmt beim erstellen.

            Bis demnächst
            Matthias

            --
            Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
            1. Hallo Matthias,

              PS: Ihr solltet mal den Benutzer darauf hinweisen, dass seine Eingaben bereits beim Editieren eines Beitrages ungefragt zum Server gesendet werden!

              @Christian Kruse - stimmt das?

              Klar. Live-Vorschau

              LG,
              CK

              1. Hallo Christian Kruse,

                Klar. Live-Vorschau

                und Tagvorschläge. Besteht Handlungsbedarf? - Ich denke nicht.

                Bis demnächst
                Matthias

                --
                Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
                1. Klar. Live-Vorschau

                  und Tagvorschläge. Besteht Handlungsbedarf? - Ich denke nicht.

                  Ich denke schon oder seid ihr wirklich so arrogant in Sachen Datenschutz und im Umgang mit der Privatspäre eurer Forumsbenutzer!?

                  1. Hallo,

                    Ich denke schon oder seid ihr wirklich so arrogant in Sachen Datenschutz und im Umgang mit der Privatspäre eurer Forumsbenutzer!?

                    Was genau hat eine Editarea eines öffentlichen Forums mit Privatsphäre zu tun?

                    Gruß
                    Kalk

                    1. @@Tabellenkalk

                      Was genau hat eine Editarea eines öffentlichen Forums mit Privatsphäre zu tun?

                      Die Editarea ist die Spielwiese für Postings, die man besser nicht abschickt. Manche Nutzer tut es dennoch.

                      LLAP 🖖

                      --
                      “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
                      1. Hallo,

                        Manche Nutzer tut es dennoch.

                        Du meinst, das trifft besonders auf uns zwei zu?

                        Gruß
                        Kalk

                        1. @@Tabellenkalk

                          Manche Nutzer tut es dennoch.

                          Du meinst, das trifft besonders auf uns zwei zu?

                          Wenn ich bei den zweien nicht dabeibin, ja. Und eigentlich meine ich nur einen von euch.

                          LLAP 🖖

                          --
                          “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
                          1. Hallo,

                            Wenn ich bei den zweien nicht dabeibin, ja. Und eigentlich meine ich nur einen von euch.

                            Du glaubst, einer von uns dreien sei schizophren?

                            Gruß
                            Kalk

                            1. @@Tabellenkalk

                              Du glaubst, einer von uns dreien sei schizophren?

                              Ich vier bin’s nicht.

                              LLAP 🖖

                              --
                              “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
                              1. Hallo,

                                Ich vier bin’s nicht.

                                Das ist so ähnlich auf Parties: wer am penetrantesten behauptet, nicht besoffen zu sein, ist meist am dichtesten... :P

                                Gruß
                                Kalk

                                1. @@Tabellenkalk

                                  Das ist so ähnlich auf Parties: wer am penetrantesten behauptet, nicht besoffen zu sein, ist meist am dichtesten... :P

                                  Was hast *hicks* du ge*rülps*sagt?

                                  LLAP 🖖

                                  --
                                  “I love to go to JS conferences to speak about how to avoid using JavaScript. Please learn CSS & HTML to reduce your JS code bloat.” —Estelle Weyl
                                  1. Was hast *hicks* du ge*rülps*sagt?

                                    Ob du die Uhrzeit sagen kannst!

                2. Hallo Matthias,

                  Klar. Live-Vorschau

                  und Tagvorschläge. Besteht Handlungsbedarf? - Ich denke nicht.

                  Meiner Meinung nach nicht. Die Software ist FLOSS, wer uns nicht traut kann ja nachsehen, was genau passiert. Wir loggen ja die Daten nichtmal.

                  LG,
                  CK

                  1. Hallo Christian Kruse,

                    und Tagvorschläge. Besteht Handlungsbedarf? - Ich denke nicht.

                    Meiner Meinung nach nicht.

                    Gut.

                    Bis demnächst
                    Matthias

                    --
                    Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.