Hvordan til at sammenkæde streng i Perl

Opgave. I programmet i Perl sprog der er to variabler, der indeholder strenge. Behovet for at oprette forbindelse (for at sammenkæde disse to linjer for at få en linje.

Løsningen er at bruge operatoren .

For string sammenkædning i Perl bruges operatøren punkt .. Her er et eksempel kode:

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello';
my $str2 = 'world';

print $str1 . $str2;

Programmet vil vise string 'Helloworld'. For at få teksten til at læse bedre, er du nødt til at sammenkæde tre elementer: to variabler og én linje er skrevet i programmet kode (den såkaldte "string literal"):

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello';
my $str2 = 'world';

print $str1 . ', ' . $str2;

Sammenkædning af numre

Operatøren . er fremragende i, at det altid behandler sine argumenter som strenge. Der er programmeringssprog, hvor den sammenkædning operatøren bruges +, som også er anvendes til at tilføje numre. På grund af dette, forekommer fejl, at i stedet for connection string opstår driften af tillæg. I Perl dette er ikke et problem. Operatøren . er altid sammenkædning, uanset fra de værdier, der er af argumenter. Derfor kan resultatet af operationen "2" . "2" er præcis den samme som resultatet af operationen 2 . 2, nemlig linje 22, ikke nummer 4.

I tillæg til den operatør . der findes andre måder til at forbinde de eksisterende variabler til at få en ny linje.

At bruge interpolation

Hvis koden for et Perl-program til at skabe en streng ved hjælp af dobbelt citationstegn, er variabler, som skrevet i denne tråd vil blive erstattet af værdierne af disse variable. Så for at få det samme det resultat som i det foregående eksempel, kan du bruge dette program:

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello';
my $str2 = 'world';

print "$str1, $str2";

Brug sprintf

En anden måde at kombinere flere string værdier i en streng er at bruge funktionen sprintf. Her er et eksempel kode:

▶ Run
#!/usr/bin/perl

my $str1 = 'Hello';
my $str2 = 'world';

print sprintf('%s, %s', $str1, $str2);

Det første argument til funktionen sprintf en streng skabelon, og derefter overført elementer hvilke værdier vil blive substitueret ind i den skabelon. Denne skabelon bruger specielle markører. Den enkleste token er en tekst %s, token fortæller, at i stedet for du behøver kun at erstatte værdi.

Andre artikler