#!/usr/bin/perl # das sollte klar sein ;) use strict; use warnings; # hole den Text chomp( my $text = ); # 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), ' ';