Thread zentrierte Darstellung mit printf möglich?
(20 answers)
Opened by Duff at 2007-09-19 13:41 Duff+2007-09-19 12:00:30-- Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #!/usr/bin/perl # das sollte klar sein ;) use strict; use warnings; # hole den Text chomp( my $text = <STDIN> ); # So breit soll das "Fenster" für den Text insgesamt sein my $width = 30; # berechne den linken rand my ($rand) = int( ($width - length $text) / 2 ); # das Format: # %*s => ein String (%s), dessen Länge erst noch festgelegt werden muss (*) # %s => der eigentliche Text # %*s => der rechte Rand, im Prinzip das gleiche wie beim ersten Format-Teil my $format = ">>%*s%s%*s<<"; # gebe den Text aus... # übergebe an sprintf folgende Parameter: # breite des linken Rands (ersetzt das erste *) # Leerzeichen (als "Text" für den linken Rand) # der eigentliche Text # Breite des rechten Rands (ersetzt das zweite *) # Leerzeichen (als "Text" für den rechten Rand) print sprintf $format, $rand, ' ', $text, ($width - length($text) - $rand), ' '; Quote Was willst Du da groß zentriert haben? Zentriert zwischen $variable1 und $variable3? Da würde ich mir ne kleine Funktion bauen... OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |