sub breakLine() { my ($string, $length, $marker) = @_; my $tempstring = ""; my $afterstring = ""; if ( length($string) > $length && $length > 0 ) { $length -= length($marker); if ($length <= length($marker)) { $marker = ""; $tempstring = substr( $string, 0, $length ); } else { $afterstring = substr( $string, $length, length($string)); if (length($afterstring) > $length ) { $afterstring = &breakLine($afterstring,$length+1, $marker);} $tempstring = substr( $string, 0, $length ) . $marker . " " . $afterstring; } $string = $tempstring; } $string; } $tmpl->param( useremail => &breakLine($user->{email},$length,"-"), ); print $tmpl->output;