Thread unverständnis zu sprintf (22 answers)
Opened by also at 2010-08-13 21:19

Gast also
 2010-08-14 02:21
#140671 #140671
@Linuxer

>> Was findest Du nur an Datentypen? Perl kennt keine Datentypen.

Das ist ja das Problem, siehe oben.
Es geht nicht um chomp() und solche Sachen. Wer den Syntax und die Tools nicht lernt, darf nicht herummosern. Das tu ich ja auch nicht.

Ich brauchte schnell ein Tool zum Lesen des Keyboardbuffers im mode non_blocking. Beim Herumsuchen fand ich auf cpan Term::ReadKey. Passt perfekt! Also schnell Perl herunterackern.

Nach 20 min. blieb ich schon hängen an einer unbekannten Datantype. Das Byte aus dem Keyboardbuffer wird von dort durch Perl nach oben wohl 5x gecastet, bis es als irgendein geheimnisvolles Irgendwas ankommt.

if($c eq '\n') # geht nicht
if($c == 0x0a) # geht auch nicht
if($c == 10) # ebenfalls nicht
Eigentlich gibt es keine Möglichkeit mehr.... doch, Perl toppt das Ganze
if(ord($c) == 0x0A)
das funktioniert. Ein weiterer cast ist notwendig, um ein simples byte lesen zu können.
Was da nun wirklich für ein Datantyp drinnensteckt, das blieb mir verborgen, warum ein weiterer cast, das ist mir unbekannt.
Und sowas nervt weil es zuviel Zeit kostet.

Wenn das mit dem inline_C funktioniert, dann ist die Sache perfekt.

my $str = "12345"
und dann ein
u_char c = *(str+3);
Wenn das geht, dann knie ich nieder und weine, weil dann habe ich Skalpell und Vorschlaghammer vereint in einem Werkzeug. Soviel zu Datentypen


Last edited: 2010-08-14 02:37:34 +0200 (CEST)

View full thread unverständnis zu sprintf