Was ist der Unterschied zwischen einfachen und doppelten Anführungszeichen in Perl

In der Programmiersprache Perl, um eine Zeile im Code des Programms verwendet werden können einfache ' oder doppelte Anführungszeichen ".

Zwischen Ihnen gibt es einen Unterschied. In einfachen Anführungszeichen arbeiten nur Escape-Sequenzen \\ und \', doppelte Anführungszeichen neben diesen beiden arbeiten noch andere Escape-Sequenzen. Und nur bei Verwendung von doppelten Anführungszeichen Variablennamen findet in Werte (Interpolation geschieht). Weiter Details.

Allgemeine

Und einfache und doppelte Anführungszeichen in der Programmiersprache Perl verwendet, um zu beschreiben, Zeile im Code (Zeile im Text des Programms werden als "String-Literale"). Hier ist ein Beispiel:

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello, world!';
my $str2 = "Hello, world!";

In diesem Programm haben wir zwei Variablen und jeder von Ihnen haben eine Zeile. In diesem Beispiel gibt es keinen Unterschied zwischen der Verwendung von doppelten und einfachen Anführungszeichen, die Zeilen erhielten wir in der ersten, und im zweiten Fall absolut gleich.

Backslash

Noch eine Allgemeine Sache in der Verwendung von einfachen und doppelten Anführungszeichen ist wie zu handeln wenn Sie brauchen, um in der Zeile ein Backslash \. Wenn Sie eine Zeile mit diesem Symbol, das in einem Zeichenfolgenliteral schreiben müssen zwei umgekehrten Schrägstrich \\. In der resultierenden Zeichenfolge wird ein Backslash. Hier ist ein Beispiel:

▶ Run
#!/usr/bin/perl

my $str1 = '\\';
my $str2 = "\\";

print $str1, "\n";
print $str2, "\n";

Dieses Programm zeigt auf dem Bildschirm:

\
\

Anführungszeichen in der Zeile

Der erste Unterschied zwischen einfachen und doppelten Anführungszeichen ist, dass Sie tun müssen, um eine Zeichenfolge zu erstellen die einfache oder doppelte Anführungszeichen.

Mit den Anführungszeichen sehr einfach zu erstellen ist die Linie, die ein doppeltes Anführungszeichen: '"'. Und wenn tun müssen die Zeichenfolge in einfache Anführungszeichen, dann muss es brennen mit Hilfe von zwei Zeichen: Reverse Backslash \ und Anführungszeichen. '\'' — hier ist ein String-literal erzeugt eine Zeichenfolge aus einem Zeichen "Apostroph".

Im Falle von doppelten Anführungszeichen — ganz im Gegenteil. Bequem erstellen Sie eine Zeile mit einem einzelnen Anführungszeichen "'", und um platzieren Sie in der Zeichenfolge doppelte Anführungszeichen schreiben müssen, bevor Sie Ihr Backslash (dies nennt man "aussortieren") "\"".

Die Verwendung von Sonderzeichen

Bei Verwendung von einfachen Anführungszeichen gibt es nur zwei die Gesamtheit der Zeichen, die wiederum in einem Zeichen. Dies ist, wie wir bereits gesehen haben, zwei umgekehrten Schrägstrich \\ — verwandeln Sie sich in ein Schrägstrich; und Backslash und Apostroph \' — es verwandelt sich in ein Zeichen "Apostroph".

Aber bei der Verwendung von doppelten Anführungszeichen gibt es noch mehrere solche Gesamtheit von Zeichen (in der Regel genannt "Escape-Sequenzen"). Der bekannteste und am häufigsten verwendete ist die Kombination von Symbolen \n. \nin doppelten Anführungszeichen verwandelt sich in ein spezielles Zeichen "Linefeed". Bei der Verwendung der einfachen Anführungszeichen print 'ASDF\nQWERTY'; zeigt ASDF\nQWERTY, bei der Verwendung von doppelten Anführungszeichen print "ASDF\nQWERTY"; auf dem Bildschirm erscheinen zwei Zeilen:

ASDF
QWERTY

Die andere verwendete Escape-Sequenz ist \t, bei Verwendung von doppelten Anführungszeichen es sich entwickelt im Tabulator. Nicht sehr oft, aber noch verwendet \b, dieses spezielle Symbol löscht das vorhergehende Zeichen (können für die Erstellung von sehr einfachen Animationen in der Konsole). Es gibt noch eine gewisse Menge an Escape Sequenzen, aber werden kaum genutzt.

Interpolation von Variablen

Wenn in der Zeile die mit einer doppelten Anführungszeichen notieren Sie den Namen der Variablen, dann in der Zeile statt des namens angezeigt wird der Wert für diese Variable (bei Verwendung von Anführungszeichen in der Zeile wird der name).

Diese Funktion der Sprache sehr Häufig verwendet wird.

▶ Run
#!/usr/bin/perl

my $var = 'John';

my $str1 = 'Hello, $var';
my $str2 = "Hello, $var";

print $str1, "\n";
print $str2, "\n";

Dieses Programm zeigt auf dem Bildschirm:

Hello, $var
Hello, John

Zeile $str1 haben wir mit Hilfe von Anführungszeichen und in der Zeile enthält genau das was geschrieben wurde im String Zeichenfolgenliteral — 'Hello, $var'. Und in der Zeile $str2 Variablenname $var заменилось auf den Wert dieser Variablen.

Bitte beachten Sie, dass nur entfalten Skalare und Arrays:

▶ Run
#!/usr/bin/perl

my $var = 'John';
my @arr = ('one', 'two');
my %h = (
    a => 1,
);

sub my_sub {
    return 12;
}

print "$var @arr %h &my_sub";

Dieses Programm zeigt den Text John one two %h &my_sub. Skalar $var und das array @arr drehte sich um die Werte, und Hash %h und Saba my_sub — Nein.

Empfehlung

In vielen Fällen, um eine zeichenfolgenliterale noch was verwenden — und Einzel - und doppelte Anführungszeichen funktionieren gleich. Eine solche Empfehlung — sofern für ein Buchstabe noch was verwenden — verwenden Sie einfache Anführungszeichen.

Andere Artikel