عملگرهای رشتهای
اتصال با .، تکرار با 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 میبینید!
خلاصه
.اتصال،xتکرار- مقایسه رشته: eq ne lt gt le ge cmp
- هرگز == برای رشته نزنید!
این مبحث بخشی از دوره آموزش کامل پرل است.