shadow: Brauch dringend Hilfe!!!!!

Hi @all

Ich muss über CGI und Perl ein Datei ausführen um die Ergebnisse in einem Webbrowser zu sehen.
So mein Problem ist das die Datei die ich ausführen ne *.sh Datei ist und nun wollte ich mal Fragen wie ich das in mein Perl Script einbinden kann. Und zwar so das es als Schaltfläche ist. Also wenn ich dort drauf klicke soll die Datei ausgeführt werden und das Skript Aktualisiert werden.

Und ich hab noch ne Frage wie bekomme ich das hin das ich alle *.txt Dateien die ich Anlege in ein Array speichern kann und die ein Viertel Jahr aufbewahre und nach der Zeit gelöscht werden.

Sitzé jetzt schon ne Ewigkeit an diesen Problem ich hoffe es kann mir einer von euch helfen. Da meine Perl Kenntnisse nicht die bessten sind.

Ich Danke aber schon mal im vorraus!

cu shadow

  1. Sitzé

    -------^

    <sprachlos/>

    (Nein, sowas _kann_ nicht zufällig passieren.)

    1. Servus,

      Sitzé
      -------^

      <sprachlos/>

      (Nein, sowas _kann_ nicht zufällig passieren.)

      Doch!!!!
      Sitzr  <- + <- (abgerutscht + feststelltaste irgendwie erwischt) und danach bemerkt, hc die Feststelltaste und das e gedrückt. Prompt ergibt sich è einleuchtend nicht?
      Gut ein vermutlich seeeeehr seltener Zufall aber kann vorkommen.

      Gruss Matze

  2. Hallo shadow,

    ein Posting muss sich nicht unbedingt lesen wie Goethes Faust. Aber ein bisschen mehr Sorgfalt würde nicht schaden.

    So leid es mir tut. Aber ich fürchte, dass aus dieser mehr oder weniger zufälligen Aneinanderreihung von Worten niemand schlau wird. Formuliere dein Frage bitte noch einmal. So, das jemand der deine Gedanken nicht kennt, auch folgen kann. Ok?

    Grüße,

    Jochen

    --
    Man soll alle Tage wenigstens ein kleines Lied hören, ein
    gutes Gedicht lesen, ein treffliches Gemälde sehen und,
    wenn es möglich zu machen wäre, einige vernünftige Worte
    sprechen.                    [Johann Wolfgang von Goethe]
  3. Ok nochmal wenn es nicht anderes geht!

    Also mein 1. Problem ist das ich gerne eine Datei (sh) Ausführen möchte die in mein cgi Ordner liegt. Und zwar so das es als Schaltfläche Aktualisieren. Also wenn ich auf dies Schaltfläche klicke dann möchte ich das sh Script Ausgeführt wird. Und das Script auch Aktualisiert.

    Und mein 2. Problem ist das ich die Textdateien ein 1/4 Jahr aufbewahren soll und Statisiken anzufertigen. Bloss wie bekomme ich das hin das ich alle einlesen und verwalten kann. Ich denke mal in einem Array. Bloss die Textdateien setzten sich aus Aktuelles Datum und Uhrzeit zusammen und vorne noch ne Erkennung.
    Hier so sieht die Datei aus: nwa_16_Feb_04 - 07_15_47.txt.

    Aber die neuste soll immer an der ersten Stelle sein. Das ist mit das wichtigste an der Sache.

    Ich hoffe das ihr jetzt verstanden habt was ich meinte. Danke im vorraus.

    cu shadow

    1. Ok nochmal wenn es nicht anderes geht!

      Also mein 1. Problem ist das ich gerne eine Datei (sh) Ausführen möchte die in mein cgi Ordner liegt. Und zwar so das es als Schaltfläche Aktualisieren. Also wenn ich auf dies Schaltfläche klicke dann möchte ich das sh Script Ausgeführt wird. Und das Script auch Aktualisiert.

      Das dürfte doch eigentlich kein Problem sein. Als Ziel des Buttons gibst du einfach ein Perl Script an, welches, falls es die Ausgabe des Shell-Skriptes nicht kennen muss, einfach mittels system() oder Backticks `` das Shell Script ausführt, oder, falls die Ausgabe benötig wird, eine Pipe zu dem Programm öffnest,
      <open(SHELLSCRIPT, "shellscript.sh|");> und dann die Ausgabe davon mit ganz normalen Perl-Methoden liest...
      Allerdings bin ich mir nicht ganz sicher, ob ich deine Frage richtig verstanden habe...

      Und mein 2. Problem ist das ich die Textdateien ein 1/4 Jahr aufbewahren soll und Statisiken anzufertigen. Bloss wie bekomme ich das hin das ich alle einlesen und verwalten kann. Ich denke mal in einem Array. Bloss die Textdateien setzten sich aus Aktuelles Datum und Uhrzeit zusammen und vorne noch ne Erkennung.
      Hier so sieht die Datei aus: nwa_16_Feb_04 - 07_15_47.txt.

      Ich denke, du solltest als erstes ein günstigeres Namensformat definieren, so dass du besser sortieren kannst, da das so nicht ganz einfach wird. Am besten so, wie es auch standarisiert ist: jjjj-mm-dd (-hh-mm-ss). So kannst du es ganz einfach sortieren.
      Das auslesen des Alters der Datei sollte auf diese Weise auch nicht sonderlich schwer sein. Du kannst jetzt ja alle Dateinamen in ein Array einlesen, dieses mit dem normalen sort() (falls nötig perldoc -f sort)sortieren, und dann alle Elemte, nach dem ersten, was zu alt ist, löschen, was ja dank der Sortierung einfach ist (logischerweise mit dem ersten, welches zu alt ist). Das berechnen des Alters einer Datei sollte am einfachsten mit den Date:: Modulen sein, welche z.T. auch Standardmodule sind, also immer vorhanden sind.

      Grüße Andres Freund

      PS: Ja, ich poste auch mal wieder *g*.
      Und immer noch ist mein Vorname Andres, und Nachname Freund, und ich bin, soweit ich weiß, kein Freund eines André... ;-)

      1. HI Danke Andres

        Also bei meiner ersten Frage muss ich mit Hilfe Bottons das Shell script Ausführen und dann soll noch das Perl Script Aktualisiert werden. Aber ich kann ja in diesen Fall auch zwei Bottons machen. Aber das mit den system() hatte bei mir nicht geklappt. Wie könnte die Befehls zeile aussehen wenn du das mit der system Anweisung machen würdest.

        Und zu meiner 2. Frage.

        Ja da muss ich erstmal den Fragen der mir die Aufgabe gestellt hat. Geht das überhapt so unter Unix, da ich den Dateinamen dort festlege.
        Sprich in der Datei die ich oben in meiner ersten Frage Ausführen will. Denn dort wird die Urdatei ausgeführt und in eine Textdatei gespeichert.

        Danke das mir wenigstens einer helfen kann. Werd deine Vorschläge aber gern ausprobieren. Danke

        cu shadow

        1. Hi Andres

          so hab nochmal die system() Anweisung probiert und das ergebnis ist das er jetzt zwar die Datei ausführt aber die Datei ist leer und hat keine Werte. Woran liegt das?