Ich möchte eine Tabelle in Perl anzeigen, deren Zeilen- und Spaltennamen variable Länge haben. Ich möchte, dass die Spalten sauber ausgerichtet sind. Das Problem besteht darin, dass die Zeilen- und Spaltenüberschriften von variabler Länge sind, sodass die Ausrichtung für verschiedene Dateien verschoben wird. HierPerl Druckformatierungsfrage
ist der Code, ich verwende zu Format:
print "\n ";
foreach (keys(%senseToSenseCountHash))
{
printf "%15s",$_;
}
print "\n";
print "------------------------------------------------------------\n";
my $space = "---";
foreach my $realSense (keys(%actualSenseToWronglyDisambiguatedSense))
{
printf "%s",$realSense;
foreach (keys(%senseToSenseCountHash))
{
if(exists($actualSenseToWronglyDisambiguatedSense{$realSense}[0]{$_}))
{
printf "%15s",$actualSenseToWronglyDisambiguatedSense{$realSense}[0]{$_};
}
else
{
printf "%15s",$space;
}
}
print "\n";
}
Die Ausgänge I erhalten sind wie folgt (für verschiedene Dateien, die ich habe zu testen, auf):
Microsoft IBM
------------------------------------------------------------
Microsoft 896 120
IBM 66 661
SERVE12 SERVE2 SERVE6 SERVE10
------------------------------------------------------------
SERVE12 319 32 19 8
SERVE2 44 159 39 25
SERVE6 22 9 102 1
SERVE10 14 16 12 494
HARD3 HARD2 HARD1
------------------------------------------------------------
HARD3 68 7 27
HARD2 6 60 90
HARD1 37 69 937
Ich möchte Diese Ausgabe muss unabhängig vom Zeilen- und Spaltennamen ausgerichtet werden. Kann mir bitte jemand helfen?
Thanks so much!
Blick auf [Perl6 :: Form] (http://search.cpan.org/~dconway/Perl6-Form-0.04/Form.pm) oder veraltet (in 'Perl Best Practices') Perl [form] (http://perldoc.perl.org/perlform.html) Mechanismus. Interessanterweise ist Perl6 :: Form bei CPAN unter Perl6 nicht aufgeführt; Ich bin mir ihrer Bedeutung nicht sicher. –
Sie können die Formline-Funktion verwenden, ohne eine Formatdeklaration zu verwenden, wie die Schriftsfunktion auf der Perlform-Seite, aber localizing $^A – MkV
@ Jonathan: Bitte sagen Sie den Leuten nicht, dass Dinge veraltet sind, es sei denn, es ist etwas, das durch das 'veraltet' lexikalisch kontrolliert wird Warnungskategorie! Insbesondere * BITTE * VERWENDEN SIE KEINE * Perl Best Practices *, um Menschen in Homogenität und Albernheit zu verwickeln. Dafür wurde das Buch nicht geschrieben! Damian Conway selbst sagt: "So viele Leute vergessen, dass PBP - in ihrem Herzen - ein Plädoyer dafür war, dass Code in * jedem * konsistenten Stil geschrieben werden sollte, bewusst und vernünftig gewählt, um die eigenen Bedürfnisse zu erfüllen." ** – tchrist