Jak сконкатенировать wiersza w Perl

Zadanie. W programie w języku Perl są dwie zmienne, w których znajdują się linie. Trzeba połączyć (сконкатенировать) te dwie linie, aby była jedna linia.

Rozwiązanie — użyć operatora .

Dla konkatenacji ciągów w Perl służy operator punkt .. Oto przykład kodu:

▶ Run
#!/usr/bin/perl

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

print $str1 . $str2;

Program wypisze na ekran ciąg 'Helloworld'. Aby tekst lepiej czytać jako trzeba сконкатенировать trzy elementy: dwie zmiennych i jeden wiersz, napisany w kodzie programu (tzw. "ciąg literału"):

▶ Run
#!/usr/bin/perl

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

print $str1 . ', ' . $str2;

Połączeniem liczb

Operator . piękny to fakt, że zawsze postrzega swoje argumenty jak wiersze. Istnieją języki programowania, gdzie dla konkatenacji służy operator +, który również służy do dodawania liczb. Z tego powodu pojawiają się błędy że zamiast połączenia wierszy, dzieje się operacja dodawania. W Perlu tego problemu nie ma. Operator . — to jest zawsze połączeniem, niezależnie od wartości argumentów. Dlatego wynik operacji "2" . "2" jest dokładnie taki sam jak wynik operacji 2 . 2, a mianowicie ciąg 22, a nie liczba 4.

Oprócz operatora . istnieją i inne sposoby jak połączyć istniejące zmienne, aby uzyskać nową pozycję.

Użyć interpolacji

Jeśli w kodzie programu Perl utworzyć ciąg z pomocą podwójnych cudzysłowów, to zmienne, które napisane w tym wierszu zostaną zastąpione przez wartości tych zmiennych. Więc się tak samo wynik jak w poprzednim przykładzie, można za pomocą tego programu:

▶ Run
#!/usr/bin/perl

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

print "$str1, $str2";

Używać sprintf

Jest jeszcze jeden sposób, jak można połączyć kilka ciągów wartości w wierszu — to użyć funkcji sprintf. Oto przykład kodu:

▶ Run
#!/usr/bin/perl

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

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

Pierwszym argumentem funkcji sprintf jest przesyłany ciąg z szablonem, a dalej są przekazywane elementy wartości, które będą umieszczone w szablon. Do tego w szablonie są specjalne uchwyty. Najprostszym marker — to tekst %s, znacznik ten mówi, że zamiast niego wystarczy podstawić wartość.

Inne artykuły