Re: gibt es 'goto' bei perl? - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Sander (8133 Beiträge) am Samstag, 18.Mai.2002, 00:43.
    Re: gibt es 'goto' bei perl?

      müsste man noch den Code dazu sehen...
      btw: goto ist eine seeeeeehr unschöne Programmier(un)art ;-)

      Grüsse

      Sander


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus S. (1671 Beiträge) am Freitag, 17.Mai.2002, 21:07.
    gibt es 'goto' bei perl?

      hallo,

      habe ein in der höhe langes template mit verschiedenen anspringpunkten, in der mitte ein formular, bei dem auch fehlermeldungen erscheinen können. wie bekomme ich es hin, dass im fall einer fehlermeldung beim rücksprung ($msg=sent) an der richtigen stelle aufgesetzt wird. gibt es da sowas wie ein 'goto'?
      oder vielleich ne ganz andere lösung$
      gruss claus

     Antworten

    Beitrag von Michal (251 Beiträge) am Freitag, 17.Mai.2002, 21:33. WWW: glettkau.de
    Re: gibt es 'goto' bei perl?

      hallo,

      ja, gibt es! wie z.B.
      <perl>
      
      pruefung:
      get "Id==?", "db";

      if ($bla ne "ja")
      {
      out $bla;
      }
      

      else
      {
      
      goto pruefung;
      }

      ...ansonsten schönes kapitel zu perl gibt's bei www.teamone.de/selfhtml

      gruß, michal

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Freitag, 17.Mai.2002, 21:39.
    Re: gibt es 'goto' bei perl?

      hallo michal,

      danke für den tipp ;-)
      uups, www.teamone.de/selfhtml gehört zwar zu meiner lieblingslektüre, dass da auch was über perl steht, ist mir noch garnicht aufgefallen.

      gruss claus

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Freitag, 17.Mai.2002, 22:00.
    Re: gibt es 'goto' bei perl?

      hallo,

      das funzt nur anfänglich, d.h. nach dem rücksprung setzt er mit dem goto korrekt auf, aber danach sind alle html-steps unwirksam und das ganze design ist durcheinander.
      vertragen sich html-steps und perl-gotos nicht?

      gruss claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 18.Mai.2002, 00:43.
    Re: gibt es 'goto' bei perl?

      müsste man noch den Code dazu sehen...
      btw: goto ist eine seeeeeehr unschöne Programmier(un)art ;-)

      Grüsse

      Sander

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Samstag, 18.Mai.2002, 00:56.
    Re: gibt es 'goto' bei perl?

      hallo sander,

      dass mit der 'programmierunart' wäre wieder der anfang zu einer der endlosen akademischen diskussionen und da habe ich keinen bock draufi; in vielen jahren habe ich erfahren, dass man mit so einem kleinen umweg schnell und performant eine klippe umschifft, in der so mancher jünger von johnson-gurus sich nächtelang gedanken macht. ich denke, dass können die jenigen machen, die für ihr geld nicht mehr arbeiten müssen.

      solltest du jetzt noch lust haben, hier aufruf und code:

      http://bestguide.de/baseportal/ace/pac511if

      <BODY SCROLL="auto"><CENTER>
          <perl>
          #--------------------------------------------------------------------#
          #--                         Sub-Routinen                           --#
          #--------------------------------------------------------------------#
      
          #------------------------------------------------#     #--SR Ausgabe Kontakt-Seite #     #------------------------------------------------#     sub fm_mail        {         if (($msg eq "SENT") || ($errmsg ne ""))                 {
                       goto STEP1;
                      }
      
              out "<TABLE CELLPADDING=5 CELLSPACING=5 WIDTH=580 BORDER=0>\n";         out "<TR><TD COLSPAN=2 ALIGN='right' VALIGN='top'>\n";         out "<A NAME='step0'></A>";         out "<SPAN CLASS='w12b'><BR><BR>ars communicandi<BR><BR>Postfach 100 226<BR>D-76483 Baden-Baden<BR><BR>\n";         out "Fon +49 (0)7221 - 22 4 66 <BR>Fax +49 (0)7221 - 22 5 66<BR><BR>Mail info\@bestguide.org</SPAN><BR><BR>\n";         out "</TD></TR>\n";
              out "<TR><TD ALIGN='right'><BR><BR><BR><BR><A CLASS='link2' HREF=#step1>Ihre Anfrage&nbsp;&nbsp;<IMG SRC=http://www.bestguide.org/arscom/gfx/pfunten.gif ALT='Ihre Anfrage' BORDER=0></A>&nbsp;&nbsp;</TD></TR>\n";
              
              STEP1:
              out "<TR><TD ALIGN='right'><A NAME='step1'></A><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>\n";
              
                   if ($msg eq "SENT")
                      {
                       out "<TR><TD>&nbsp;</TD><TD CLASS='alarm'><BR>Mail wurde versandt!<BR>&nbsp;</TD></TR>\n";
                      }
                   if ($msg eq "")
                      {
                       out "<TR><TD>&nbsp;</TD><TD CLASS='alarm'><BR>&nbsp;</TD></TR>\n";
                      }
                   if ($errmsg ne "")
                      {
                       out "<TR><TD>&nbsp;</TD><TD  CLASS='alarm2'>$errmsg</TD></TR>\n";
                      }
      
                   out "<FORM ACTION=\"baseportal.pl?htx=$htx\" METHOD=\"post\" ENCTYPE=\"multipart/form-data\" ONRESET=\"return confirm('Sind Sie sicher, dass Sie das Formular leeren wollen?')\">";              &do_hidden("do_mail");
      out <<EOF;
                   <TR><TD ALIGN="right">Ihr Name :    &nbsp; </TD><TD ALIGN="right"><INPUT TYPE="text" NAME="work_sender_name=" size=40 VALUE="$work_sender_name"></TD></TR>
                   <TR><TD ALIGN="right">Ihre E-Mail : &nbsp; </TD><TD ALIGN="right"><INPUT TYPE="text" NAME="work_sender=" size=40 VALUE="$work_sender"></TD></TR>
                   <TR><TD ALIGN="right">Betreff :     &nbsp; </TD><TD ALIGN="right"><INPUT TYPE="text" NAME="work_thema=" size=40 VALUE="$work_thema"></TD></TR>
                   <TR><TD ALIGN="right">Text :        &nbsp; </TD><TD ALIGN="right"><TEXTAREA STYLE="overflow:auto" NAME="work_text=" COLS=38 ROWS=7 WRAP=VIRTUAL>$work_text</TEXTAREA></TD></TR>
                   <TR><TD>&nbsp;</TD><TD ALIGN="center"><BR><INPUT CLASS="button" TYPE="submit" VALUE="&nbsp;&nbsp;&nbsp;Absenden&nbsp;&nbsp;&nbsp;"><BR>&nbsp;</TD></TR>
      
                   <TR><TD CLASS='w7' COLSPAN=2 ALIGN='right'><BR><A CLASS='link2' HREF=#step0>nach oben&nbsp;&nbsp;<IMG SRC=http://www.bestguide.org/arscom/gfx/pfoben.gif ALT='nach oben' BORDER=0></A>&nbsp;&nbsp;</TD></TR>              </FORM>              </TABLE></TD></TR>         <TR><TD CLASS='w7' ALIGN='right' HEIGHT=260 VALIGN='top'><A NAME='step2'></A>Step2&nbsp;&nbsp;<IMG SRC=http://www.bestguide.org/arscom/gfx/pfunten.gif ALT='Step2' BORDER=0>&nbsp;&nbsp;</TD></TR>
              <TR><TD CLASS='w7' ALIGN='right' COLSPAN=2><A CLASS='link2' HREF=#step0>nach oben&nbsp;&nbsp;<IMG SRC=http://www.bestguide.org/arscom/gfx/pfoben.gif ALT='nach oben' BORDER=0></A>&nbsp;&nbsp;</TD></TR>         <TR><TD CLASS='w7' ALIGN='right' HEIGHT=260 VALIGN='top'><A NAME='step3'></A>Step3&nbsp;&nbsp;<IMG SRC=http://www.bestguide.org/arscom/gfx/pfunten.gif ALT='Step3' BORDER=0>&nbsp;&nbsp;</TD></TR>
              <TR><TD CLASS='w7' ALIGN='right' COLSPAN=2><A CLASS='link2' HREF=#step0>nach oben&nbsp;&nbsp;<IMG SRC=http://www.bestguide.org/arscom/gfx/pfoben.gif ALT='nach oben' BORDER=0></A>&nbsp;&nbsp;</TD></TR>
         
              </TABLE>
      EOF
             }
          </perl>
          <perl>
          #------------------------------------------------#
          #--SR              Verschicken Mail              #
          #------------------------------------------------#
          sub do_mail
             {
              $errmsg = "";
      
              $errmsg.="Bitte geben Sie Ihren NAMEN ein!<BR>" if $_get{work_sender_name} eq "";         $errmsg.="Bitte geben Sie Ihre MAIL-ADRESSE ein!<BR> " if $_get{work_sender} eq "";         $errmsg.="Bitte geben Sie einen BETREFF ein!<BR> " if $_get{work_thema} eq "";         $errmsg.="Bitte geben Sie einen TEXT ein!<BR> " if $_get{work_text} eq "";
              
              if (!$errmsg)
                 { 
                  $work_empfaenger = "cseifried\@t-online.de";
                  $work_empfaenger_name = "";
      

                  mail "$work_empfaenger", "$work_thema", "$work_text", "$work_sender", "$work_empfaenger_name", "$work_sender_name";

                  $work_sender_name = "";
                  $work_sender = "";
                  $work_thema = "";
                  $work_text = "";
          
                  $msg = "SENT";
                 }
      
              $cmd = "fm_mail";        }     </perl>     <perl>     #------------------------------------------------#     #--SR Initialisieren Hidden-Felder #     #------------------------------------------------#     sub do_hidden        {
              local $cmd = $_[0];
      out <<EOF;
              <INPUT type=hidden name="htx=" value="$htx">
              <INPUT type=hidden name="cmd=" value="$cmd">
              <INPUT type=hidden name="namerein=" value="$namerein">
              <INPUT type=hidden name="sid=" value="$sid">
      EOF
             }
          </perl>
          
          <perl>
         #------------------------------------------------#
         #-   ab hier :      Programmsteuerung            #
         #------------------------------------------------#
      
              &do_mail if ($cmd eq "do_mail");         &fm_mail if (($cmd eq "fm_mail") || (!$cmd));
         #------------------------------------------------#    #- bis hier : Programmsteuerung #    #------------------------------------------------#    </perl> </BODY></HTML>

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 18.Mai.2002, 13:51.
    Re: gibt es 'goto' bei perl?

      ich versteh nicht, wozu du hier ein goto brauchst?
      Mit dem goto übergehst du den <table..>-tag, wodurch der htmlcode gleich mit <tr> beginnt - das zerhaut natürlich das design. Wenn du ohne goto arbeitest, werden doch die Fehlermeldungen auch ausgegeben...

      Sander

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Samstag, 18.Mai.2002, 17:00.
    Re: gibt es 'goto' bei perl?

      Vielen Dank Sander,

      aber wäre es nicht besser, dass Du mal versuchst, den Zusammenhang zu verstehen, bevor Du Schnellschüsse abgibst; ich versuche immer den Zusammenhang möglichst genau zu erklären (wie gewünscht) und dann so was. hab e es versucht ohne Dich zu kapieren: mit dem goto werden offensichtlich die vorhergehenden html-anweisungen ignoriert. o.k. aber dann wären wir wieder am ausgangspunkt meiner frage bzw. Deiner intelligenten antwort (ich versteh nicht, wozu du hier ein goto brauchst?), genau deswegen, dass man die fehlermeldungen auch sieht, sprich ein sprung weiter unten. und sag jetzt bloss nicht, du verstehtst es nicht, DU hast schon manch andere worst cases gelöst.
      Ooffensichtlich wird hier mit zweierlei mass gemessen, ich jedenfalls habe mich bemüht die netiquette einzuhalten, ich möchte keinen zoff, aber mittlerweile stelle ich meine fragen auch auf die devshare-plattform, die ist btw 'dünkelfreier'

      gruss claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 18.Mai.2002, 23:46.
    Re: gibt es 'goto' bei perl?

      Was is dir denn wieder für eine Laus über die Leber gelaufen????

      Ich hab mit meiner Frage bezweckt, den Verwendungszweck des Scriptes zu erfahren um dann besser den Code verstehen zu können.
      Und in dem Falle des Codes so wie ich ihn sehe, ist das Goto völlig überflüssig. Deine Frage war auch, wie kann man es anders lösen...

      Sander

     Antworten

    Beitrag von fb (406 Beiträge) am Sonntag, 19.Mai.2002, 02:15.
    Re: gibt es 'goto' bei perl?

      Hallo Claus S. ,

      unart oder nicht wenn du eine andere lösung möchtest heir villeicht ein ansatz?

      Wen ich das alles so halbwegs richtig interpretiere möchtest Du die Meldungen die nach Step1 generiert werden am Anfang der seite haben bzw über dem jeweiligen Formular step1 step2 usw oder?

      Warum dann keine sub mit return einer html ausgabe?

      [schnip]
      if (($msg eq "SENT") || ($errmsg ne ""))
      {
        out &step1;
      } else {
      out "<TABLE CELLPADDING=5 CELLSPACING=5 WIDTH=580 BORDER=0>\n";
      
      [schnip]
      .........
      }
      
      [schnap]

      sub step1
      {
      my $out_step;
      $out_step = "<TR><TD ALIGN='right'><A NAME='step1'></A><TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>\n";
                  if ($msg eq "SENT")
                      {
                       $out_step .= "<TR><TD> </TD><TD CLASS='alarm'><BR>Mail wurde versandt!<BR> </TD></TR>\n";
                      }
                   if ($msg eq "")
                      {
                       $out_step .= "<TR><TD> </TD><TD CLASS='alarm'><BR> </TD></TR>\n";
                      }
      
      ..........
      return $out_step;
              
      }
      

      hoffe ich habs überhaupt verstanden ;-)

      gruss fb

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Sonntag, 19.Mai.2002, 15:28.
    Re: gibt es 'goto' bei perl?

      hallo fb,

      danke für den tipp, werde mich gleich mal ranmachen ;-)

      gruss claus

     Antworten


     
 Liste der Einträge von 47101 bis 47251:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.12s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!