Mehrere Aktionen in einer einzigen Zeile

18/09/2008 - 20:46 von Helmut Schneider | Report spam
Hi,

für den Betreff ist mir nichts Besseres eingefallen, wie (wenn überhaupt)
kann ich denn z.B. mehrere Substitutionen in einem Rutsch erledigen?

$text = "a b c d";
$text =~ s/ /_/g; $text =~ s/d/e/;
Unter einer UNIX shell würde ich hier schreiben:
text = "a b c d"
echo $text | sed -e 's/ /_/g' -e 's/d/e/'

Oder auch zu einer Substitution Text hinzufügen:

$text = "a b c d";
$text =~ "Mein Text lautet" . s/ /_/g;

Danke und Gruß, Helmut

No Swen today, my love has gone away
My mailbox stands for lorn, a symbol of the dawn
 

Lesen sie die antworten

#1 Moritz Lenz
18/09/2008 - 20:58 | Warnen spam
Helmut Schneider wrote:
Hi,

für den Betreff ist mir nichts Besseres eingefallen, wie (wenn überhaupt)
kann ich denn z.B. mehrere Substitutionen in einem Rutsch erledigen?
$text = "a b c d";
$text =~ s/ /_/g; $text =~ s/d/e/;



Ist doch eine Zeile, oder? ;-)

Um ernst zu bleiben, du kannst natürlich $_ anstelle von $text
verwenden, und dann einfach

s/ /_/g;
s/d/e/;

schreiben. Wenn du deine Variable nicht umbenennen willst, gibt es einen
netten Trick dafür:

for ($text) {
s/ /_/g;
s/d/e/;
}
print $text;

HTH,
Moritz

Moritz Lenz
http://perl-6.de/ http://moritz.faui2k3.org/

Ähnliche fragen