Variableninterpolation in Suchmustern
Der Vergleichsoperator benimmt sich, als wäre er ein String in doppelten Anführungszeichen, und interpoliert jegliche Variablen, die er findet. Das ermöglicht uns, kurz mal ein grep-ähnliches Programm zu schreiben:
#!/usr/bin/perl -w my $was = "larry"; while (<>) { if (/\A($was)/) { # Suchmuster am Anfang des Strings verankern print "Am Anfang von $_ steht $was"; } }
Das Muster besteht nun aus dem Inhalt von $was
, wenn wir den Mustervergleich durchführen. Das ist so, als hätten wir /\A(larry)/
geschrieben, um larry
am Anfang einer Zeile zu finden.
Anstatt den Wert von $was
als literalen String einzulesen, hätten wir ihn auch als Kommandozeilenargument aus @ARGV
holen können:
my $was = shift @ARGV;
Wäre das erste ...
Get Einführung in Perl, Sixth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.