توابع رشته‌ای

length، uc/lc، substr، index، reverse و join/split.

جعبه‌ابزار رشته پرل

تابعکارمثالنتیجه
length(s)طولlength("Perl")4
uc(s)حروف بزرگuc("hello")HELLO
lc(s)حروف کوچکlc("HI")hi
ucfirst(s)اول بزرگucfirst("perl")Perl
substr(s, o, n)برشsubstr("Perl", 0, 2)Pe
index(s, sub)جستجوindex("hello", "l")2
reverse(s)برعکسreverse("abc")cba

substr — چاقوی سوئیسی

my $s = "Programming";

say substr($s, 0, 3);      { Pro — از ۰ سه کاراکتر }
say substr($s, 3);          { gramming — از ۳ تا آخر }
say substr($s, -3);         { ing — سه‌تای آخر }
say substr($s, -6, 3);      { amm — از آخر }

index — پیدا کردن موقعیت

my $s = "Hello World";
say index($s, "World");     { 6 }
say index($s, "xyz");       { -1 — پیدا نشد }

if (index($s, "World") != -1) {
  say "پیدا شد!";
}

join و split — تبدیل متقابل

my @words = ("Learning", "City");
my $joined = join(" ", @words);       { Learning City }

my $csv = "ali,sara,reza";
my @names = split(/,/, $csv);         { (ali, sara, reza) }

مثال: پالیندروم

sub is_palindrome {
  my ($s) = @_;
  my $clean = lc($s);
  $clean =~ s/[^a-z0-9]//g;      { حذف غیرحروفی — regex! }
  return $clean eq reverse($clean);
}
say is_palindrome("radar") ? "بله" : "نه";

مثال: حروف اول کلمات

my $name = "learning city perl";
my @words = split(/ /, $name);
my $initials = "";
$initials .= uc(substr($_, 0, 1)) foreach @words;
say $initials;      { LCP }

خلاصه

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

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