عملگرهای رشته‌ای

اتصال با .، تکرار با x و تکرار آرایه.

اتصال با نقطه

در پرل . یعنی اتصال رشته‌ها (نه اعشار!):

my $first = "Hello";
my $second = "World";
say $first . " " . $second;    { Hello World }

my $s = "abc";
$s .= "def";                   { abcdef — میان‌بر }

تکرار با x

عملگر x رشته را تکرار می‌کند:

say "-" x 10;        { ---------- }
say "ab" x 3;        { ababab }
say "hi " x 2;       { hi hi }
x روی آرایه هم کار می‌کند: my @zeros = (0) x 5; می‌سازد (0,0,0,0,0)!

مقایسه رشته‌ای

برای رشته‌ها از عملگرهای حرفی استفاده می‌شود (نه عددی!):

عملگرمعنیمثال
eqمساوی'abc' eq 'abc'
neنامساوی'a' ne 'b'
ltکوچک‌تر (الفبایی)'apple' lt 'banana'
gtبزرگ‌تر'z' gt 'a'
le / geکوچک‌تر/بزرگ‌تر مساوی'a' le 'a'
cmpمقایسه سه‌حالته'a' cmp 'b' → -1

چرا eq و نه ==؟

این مهم‌ترین نکته پرل است! == رشته‌ها را به عدد تبدیل می‌کند:
say "abc" == "xyz";    { true! هر دو به 0 تبدیل می‌شوند! }
say "abc" eq "xyz";    { false — درست! }

say "1.0" == "1";      { true — عددی برابرند }
say "1.0" eq "1";      { false — رشته‌ای متفاوت‌اند }

cmp — مقایسه سه‌حالته

say "a" cmp "b";    { -1 — اولی کوچک‌تر }
say "b" cmp "a";    { 1 — اولی بزرگ‌تر }
say "a" cmp "a";    { 0 — برابر }
cmp برای مرتب‌سازی رشته‌ای استفاده می‌شود — در مبحث sort می‌بینید!

خلاصه

این مبحث بخشی از دوره آموزش کامل پرل است.

ابزارهای مرتبط