Aufgabe. Im Programm Perl gibt es zwei Variablen in denen Strings. Sie verbinden möchten
(сконкатенировать) diese zwei Zeilen, um damit eine einzelne Zeile.
Für die String-Verkettung in Perl wird der Punktoperator .
. Hier ist der Beispielcode:
▶ Run
my $str1 = 'Hello';
my $str2 = 'world';
print $str1 . $str2;
Das Programm zeigt die Zeile 'Helloworld'
. Um den Text besser Lesen müssen сконкатенировать drei Elemente:
zwei Variablen und eine Zeile, geschrieben in den Code des Programms (so genannte "String-literal"):
▶ Run
my $str1 = 'Hello';
my $str2 = 'world';
print $str1 . ', ' . $str2;
Der Betreiber .
schön ist die Tatsache, dass er immer nimmt seine Argumente als Strings.
Es gibt Programmiersprachen, wo für die Verkettung mit dem Operator +
, die auch
dient zum addieren von zahlen. Wegen dieser Fehler auftreten, dass anstelle einer Zeilen passiert
die Operation der addition. In Perl ist dies kein Problem. Der Betreiber .
— es ist immer eine Verkettung, unabhängig
vom Wert der Argumente. Also das Ergebnis der Operation "2" . "2"
genau die gleiche wie das Ergebnis der Operation 2 . 2
, nämlich die Zeile 22
und nicht Nummer 4.
Aber der Betreiber .
gibt es auch andere Möglichkeiten, wie man die bestehenden Variablen um eine neue Zeile.
Wenn im Code Perl Programme erstellen eine Zeichenfolge mit doppelten Anführungszeichen, dann die Variablen, die
geschrieben in dieser Zeile ersetzt werden, die Werte dieser Variablen. So bekommen Sie die gleiche
das Ergebnis wie im vorherigen Beispiel kann man mit Hilfe eines solchen Programms:
▶ Run
my $str1 = 'Hello';
my $str2 = 'world';
print "$str1, $str2";
Eine weitere Möglichkeit, wie Sie verbinden mehrere String-Werte in eine Zeichenfolge — Option sprintf
.
Hier ist der Beispielcode:
▶ Run
my $str1 = 'Hello';
my $str2 = 'world';
print sprintf('%s, %s', $str1, $str2);
Das erste argument in der Funktion sprintf
wird die Zeile mit der Vorlage, und dann werden die Elemente
deren Werte werden in der Vorlage gesetzt. Dazu in der Vorlage verwendet werden spezielle Marker.
Der einfachste Marker ist ein Text %s
, dieser Marker sagt, dass stattdessen brauchen Sie nur reinlegen
Wert.