Alain: was ist an dem string falsch?

hi,
ich wollte mal wissen was an dem string
my $tagbis = sprintf ("%02d%02d%04d%s", $daybis, $monthbis, $yearbis);

falsch ist?Der server meldet
Use of uninitialized value in sprintf at line...
könnte es eventuell am %s liegen?Wenn ja ,wie kann ich %s definieren?
Gruss
Alain

  1. ich wollte mal wissen was an dem string
    my $tagbis = sprintf ("%02d%02d%04d%s", $daybis, $monthbis, $yearbis);

    Dort sind 4 % du übergibst aber nur drei Parameter, entweder du änderst das format oder übergibst einen vierten, definierten Parameter.

    1. Hallo,

      ich wollte mal wissen was an dem string
      my $tagbis = sprintf ("%02d%02d%04d%s", $daybis, $monthbis, $yearbis);

      Dort sind 4 % du übergibst aber nur drei Parameter, entweder du änderst das format oder übergibst einen vierten, definierten Parameter.

      ok aber wie definiert man den 4en parameter,besser gefragt was bedeutet eigentlich %s in dem zusammenhang?
      Soviel ich weiss heisst %s = string ?!Aber wofür soll der gut sein?
      Ich das perl script nicht selbst geschrieben,aber möchte die fehler ausmerzen,desshalb die frage.
      Gruss
      Alain

      1. Hallo,

        ok aber wie definiert man den 4en parameter,besser gefragt was bedeutet eigentlich %s in dem zusammenhang?
        Soviel ich weiss heisst %s = string ?!Aber wofür soll der gut sein?

        Gute Frage ;-!

        sprintf geht so
        "%02d", $zahl
        ^^^^ Platzhalter
                ^^^^ Wert

        Je nachdem wieviele Platzhalter da sind (%02d formatiert einen integer auf 2 Stellen) müssen Werte da sein.

        %s ist der Platzhalter für einen String, den ich bei Deinem sprintf nicht sehe.

        gruss, Rolf

        perldoc -f sprintf

        --
        KnowHow veröffentlichen statt patentieren!
        1. Hallo,

          %s ist der Platzhalter für einen String, den ich bei Deinem sprintf nicht sehe.

          ok danke,
          es geht ohne %s nun auch und der server ist auch zufrieden,von daher sehe ich nicht ein
          dieses %s noch länger da drinn zu lassen ;-)
          Grüsse
          Alain

          1. Hallo Alain,

            dieses %s noch länger da drinn zu lassen ;-)

            Jow, wech damit ;-)

            Aäähm, falls es bei Deinem sprintf() um Datumsformatierungen geht (sieht so aus, sieht so aus....):

            use POSIX qw(strftime);

            01.01.2003

            $date = strftime("%d.%m%.%Y", localtime); # same as localtime(time())

            01.01.2003 20:20:23

            $date = strftime("%d.%m%.%Y %X", localtime);

            http://perlbase.xwolf.de/cgi-bin/perlbase.cgi?display=16&id=14

            Viele Grüße, Rolf

            Btw., mein Schwager heißt Alatin und ist aus Lybien - ein wundervolles Land!

            --
            KnowHow veröffentlichen statt patentieren!