Thread Letztes Zeichen aus einem Skalar löschen: Wieviele Methoden mag es dafür geben?
(21 answers)
Opened by Crian at 2004-08-20 11:38
Gegeben sei eine Zeichenkette der Form
my $text = "xyz123"; Welche verschiedenen Möglichkeiten gibt es, das letzte Zeichen zu entfernen? Was mir so einfällt: 1) chop $text; 2) $text = join '', (split //, $text)[0..length($text)-2]; 3) $text = substr $text, 0, length($text)-1; 4) $text = join '', splice(@{[split //, $text]}, 0, length($text)-1); 5) $text =~ s/.$//; Genau dann wenn das letzte Zeichen ein Zeilenumbruch ist, kann man als zusätzliche Variante auch chomp nehmen, aber das zähle ich mal nicht mit. Das ideomatischste dürfte wohl Variante 1 - chop - sein. Die Idee zu dieser Frage kam mir, als ich mir die Frage nach der ideomatischsten Möglichkeit genau dies in einer anderen Programmiersprache (SAS) zu tun stellte (da fällt mir nur eine substr-Entsprechung ein). Hier mal mein Testcode: Code: (dl
)
1 #!/usr/bin/perl mit der Ausgabe Fallen Euch noch mehr Möglichkeiten ein? s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite |