I simboli \n (backslash e n) in Perl

Abbastanza spesso nel codice di un programma in linguaggio Perl è possibile incontrare una combinazione di caratteri \n.

Nel linguaggio di programmazione Perl, come in molte altre lingue di programmazione, questi due personaggi accanto indicano un carattere di ritorno a capo. Sopra per i dettagli.

Ecco un esempio di codice in cui viene utilizzato \n:

▶ Run
#!/usr/bin/perl

print "line 1\n";
print "line 2\n";

Se si salva il testo in un file script.pl e lanciarlo con l'aiuto di perl script.pl, sullo schermo viene visualizzato:

line 1
line 2

A conclusione del programma visto che il testo line 1 si trova su una riga e il testo line 2 in un altro. E ' successo proprio grazie ai simboli \n in squadra print "line 1\n";. La parola chiave printcorrotti sullo schermo i loro argomenti. Qui un argomento è una stringa "line 1\n". Perl visualizza tutti i caratteri da una stringa. La combinazione di caratteri \n è un carattere speciale che indica che il testo seguente per questi caratteri si devono mettere con la nuova linea.

L'uso di riga

È possibile scrivere un programma che funziona esattamente come ieri il programma senza l'uso di simboli \n nel codice. Ecco come fare:

▶ Run
#!/usr/bin/perl

print "line 1
";
print "line 2
";

Qui invece il simbolo \n viene utilizzato un vero e proprio avanzamento riga nel codice di un programma.

L'utilizzo del carattere \n e del presente avanzamento riga crea una stessa riga. Ecco un esempio di codice che indica che è davvero così (quando si esegue questo programma visualizzerà strings are the same):

▶ Run
#!/usr/bin/perl

my $str1 = "line\n";

my $str2 = "line
";

if ($str1 eq $str2) {
    print "strings are the same";
} else {
    print "strings differ";
}

Tra virgolette doppie e singole

I simboli \n si trasformano in traduzione di comando solo se vengono utilizzati tra virgolette. L'uso di simboli \n, racchiusa tra virgolette, sono e restano i due simboli — backslash e la lettera latina n.

▶ Run
#!/usr/bin/perl

print 'line 1\n';
print 'line 2\n';

Quando si esegue questo codice viene visualizzato il testo

line 1\nline 2\n

\n è un simbolo

È possibile assicurarsi che quando si utilizza \n tra virgolette — è in realtà un simbolo.

▶ Run
#!/usr/bin/perl

print length("\n"), "\n";
print length('\n'), "\n";

Questo programma visualizza il numero 1 prima riga e il numero 2 sulla seconda riga. \n tra virgolette è un simbolo, e \n racchiusa tra virgolette è di due caratteri.

say

Molto spesso i simboli \n sono utilizzati insieme c print per ben qualcosa di visualizzare nella console. È invece possibile utilizzare la parola chiave say. say funziona esattamente come print — visualizza sullo schermo i loro argomenti, ma ancora e corrotti dopo di loro simbolo \n per la traduzione di comando.

In modo che il nostro programma si potrebbe scrivere così:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say "line 1";
say "line 2";

Per lavorato print non occorre fare nulla, ma per lavorato say in codice Perl programma è necessario aggiungere una riga use feature qw(say);. Senza di questo non funzionerà.

Altri articoli