Tegn \n (backslash og n) til Perl

Ganske ofte i program-kode i Perl kan opfylde en kombination af symboler \n.

I programmeringssproget Perl og mange andre sprog programmering af disse to symboler betyder ud til en enkelt karakter, den newline. Yderligere oplysninger.

Her er et eksempel på kode der anvender \n:

▶ Run
#!/usr/bin/perl

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

Hvis du gemmer denne tekst til en fil script.pl og køre det gennem perl script.pl, vil det blive vist på skærmen:

line 1
line 2

Programmet output viser, at teksten line 1 er på én linje og teksten line 2 på den anden. Det skete på grund af de symboler, \n i holdet print "line 1\n";. Søgeord printviser på skærmen på deres argumenter. Her argument er strengen "line 1\n". Perl viser alle tegn fra strengen. Den kombination af symboler, \n er et særligt symbol, der angiver, at følgende tekst dette symboler skal være output på en ny linje.

Brug af oversatte strenge

Du kan skrive et program, som fungerer nøjagtig den samme som i det foregående program uden brug af symboler \n i koden. Her er hvordan du gør det:

▶ Run
#!/usr/bin/perl

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

Her er symbolet \n anvendes en real newline i din kode.

Brugen af symbolet \n , og denne linje skaber helt den samme streng. Her er et eksempel på kode, der viser, at dette er sandt (når du starter dette program viser 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";
}

Enkelt og dobbelt anførselstegn

Tegn \n er omdannet til den linje, kun når det anvendes i dobbelte anførselstegn. Hvis du bruger symboler \n, i anførselstegn, så vil de fortsat være to tegn — backslash og det latinske bogstav n.

▶ Run
#!/usr/bin/perl

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

Når du kører denne kode, vil skærmen vise teksten

line 1\nline 2\n

\n er et enkelt tegn

Du kan være sikker på, at når du bruger \n i dobbelt citater er faktisk en enkelt karakter.

▶ Run
#!/usr/bin/perl

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

Dette program viser nummer 1, første linje, og 2 på den anden linje. \n i dobbelt citater, er en karakter, \n i anførselstegn er to tegn.

say

Meget ofte er de tegn, \n anvendes sammen c print til smuk at reflektere noget i konsollen. I stedet kan du bruge de søgeord say. say fungerer nøjagtig den samme som print — viser på skærmen for sine argumenter, men viser også, at symbolet \nline.

Så vores program kunne være skrevet som dette:

▶ Run
#!/usr/bin/perl

use feature qw(say);

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

For at arbejde print intet yderligere til at ske, men for at arbejde saykode Perl program, du har brug for at tilføje en linje use feature qw(say);. Uden det vil ikke fungere.

Andre artikler