Seite 1 von 1

Perl substr() -> String abschneiden

Verfasst: 14.07.2009, 21:20
von Outman
Huhu,

ich möchte in Perl ein String abschneiden und diesen ein "..." anhängen. Das habe ich über eine Subroutine gemacht. Hier der Code:

Code: Alles auswählen

sub limitch
{
	if(length($_[0]) >= $_[1]){
		 $limited = "";
         $limited .= substr($_[0],0,$_[1]);
         $limited .= "...";
         return $limited;
	} else {
		 return $_[0];
	}
}
Gibt es eine saubere Lösung, als wie über eine Subroutine dies zu machen?

Grüße Nico

Verfasst:
von

Verfasst: 14.07.2009, 21:44
von profo
Du gewinnst mit dem Code vielleicht keinen Schönheitspreis, aber er funktioniert doch mehr oder weniger. Eine eingebaute Funktion gibt''s nicht, und eine Bibliothek würde ich mir für so etwas gar nicht suchen.

Zur Inspiration vielleicht, hier nochmal Deine Routine etwas umgeschrieben:

Code: Alles auswählen

sub limitch2($$) {
    my ($s, $len) = @_;
    if ( length($s) >= $len ) {
        substr( $s, $len ) = "...";
    }
    $s;
}

Verfasst: 14.07.2009, 22:07
von Outman
Okay, danke für die Info. Bin in letzter Zeit immer mehr daran mich mit Perl zu beschäftigen und hatte dazu noch keine direkte Funktion gefunden. Daher auch meine Frage und die frikel Lösung :)

Verfasst: 15.07.2009, 13:43
von profo
Frickeln ist doch ok. Und Perl ist mächtiger, sauberer, schneller und sicherer als php. Jedenfalls nach meiner bescheidenen Meinung ;)