Vier Spalten in einem Rutsch
hotti
- perl
Hi,
mein Script
#!/usr/bin/perl
###########################################################################
use strict;
print "Content-type: text/plain\n\n";
foreach my $i (0..70){
printf("%3d %08b %2X %7d %08b %2X %7d %08b %2X %7d %08b %2X\n",
$i,$i,$i,
$i+71,$i+71,$i+71,
$i+142,$i+142,$i+142,
$i+213,$i+213,$i+213
);
}
exit;
###########################################################################
bringt dezimal, binär, hex in vier Spalten auf eine DIN A4 Seite, siehe hier.
Die 4. Spalte soll jedoch nur bis 255 gehen, hat jemand ne Idee?
Hotte
Hi,
foreach my $i (0..70){
printf("%3d %08b %2X %7d %08b %2X %7d %08b %2X %7d %08b %2X\n",
$i,$i,$i,
$i+71,$i+71,$i+71,
$i+142,$i+142,$i+142,
$i+213,$i+213,$i+213
Die 4. Spalte soll jedoch nur bis 255 gehen, hat jemand ne Idee?
255 - 213 ist 42. Und da das bekanntlich *die* Antwort ist, sorge dafuer, dass die Werte der letzten Zeile nur ausgegeben werden, wenn $i noch nicht groesser ist.
Dazu wirst du wohl zwei printfs draus machen muessen, um das letzte in eine Bedingung kapseln zu koennen.
MfG ChrisB
Hi danke,
255 - 213 ist 42. Und da das bekanntlich *die* Antwort ist, sorge dafuer, dass die Werte der letzten Zeile nur ausgegeben werden, wenn $i noch nicht groesser ist.
Dazu wirst du wohl zwei printfs draus machen muessen, um das letzte in eine Bedingung kapseln zu koennen.
Bedingung in printf(), jow, das geht. Ein zweites printf() würde jedoch wieder von vorn beginnen, aber ein sprintf() zwischendrin, werd ich mal überschlafen ;)
Hotte
Hi,
Bedingung in printf(), jow, das geht.
Tut es? K.A., kenne mich mit Perl nicht aus.
Ein zweites printf() würde jedoch wieder von vorn beginnen
Aber das verstehe ich nun wiederum nicht.
Was meinst du mit "von vorn beginnen"?
MfG ChrisB
Hi,
Ein zweites printf() würde jedoch wieder von vorn beginnen
Aber das verstehe ich nun wiederum nicht.
Was meinst du mit "von vorn beginnen"?
Neue Zeile, neue Spalte... aber ich habs schon online, trotz NDR-Talkshow ;-)
Code untenstehend,
Grüße an Alle und schönes Wochenende
Hotte
#!/usr/bin/perl -w
###########################################################################
# Dezimal, Binär, Hexadezimal von 0..255 auf einer DIN A4 Seite zum Drucken
# Ausgabe in 4 Spalten
###########################################################################
use strict;
print "Content-type: text/plain\n\n";
foreach my $i (0..70){
my $i4 = $i + 213; # Spalte 4 beginnt mit 213
my $s4 = ($i4 <= 255) ? sprintf("%7d %08b %2X", $i4, $i4, $i4) : '';
printf("%3d %08b %2X %7d %08b %2X %7d %08b %2X %s\n",
$i, $i, $i,
$i + 71, $i + 71, $i + 71,
$i + 142, $i + 142, $i + 142,
$s4
);
}
exit;
###########################################################################