Hallo auch ...
Hi,
sub Mach8
{
»» $String = $_[0];
»» if(length($String) > 8) {
$String = substr($String,0,7);müßte das nicht ",0,8" sein? Naja, ein kurzer Test und... :-)
»» }
»» elsif(length($String) < 8) {for($i = length($String); $i < 8; $i++) {
$String = $String." ";
}oder:
while(length($String) < 8) { $String .= " "; } # bzw. $String = " ".$String; wenn die Leerzeichen links stehen sollenUm die Routine an beliebige Längen anzupassen, mußt Du nur jede 8 durch "$_[1]" ersetzen bzw. die 7, wenn sie stimmt, durch "$_[1]-1". Es empfiehlt sich in dem Fall natürlich, die Routine "sub Mach" zu nennen. Der Aufruf erfolgt dann mit $Test = Mach("Das ist der Text",42); für Justierung auf 42 Zeichen.
Cheatah
wie wäre es denn mit:
sub Mach
{
substr( $_[0] . ' 'x$_[1], 0, $_[1]);
}
;-)
Gruß,
Jörk