Perl – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ ביטול גרסה 17393840 של 62.0.73.129 (שיחה)
מ החלפת תג source לתג syntaxhighlight*
שורה 62:
שמות המשתנים מתחילים בתו שמגדיר את הסוג שלהם, התו מכונה סיג'יל (sigil). שם משתנה סקלר מתחיל תמיד בסימן דולר (<code>$</code>), שנראה כמו האות s מהמילה scalar, למשל:
 
<sourcesyntaxhighlight lang="perl">
$name = "Larry";
$index = 45;
</syntaxhighlight>
</source>
 
שם משתנה מערך מתחיל תמיד בסימן <code>@</code> שנראה כמו האות a מהמילה array, למשל:
 
<sourcesyntaxhighlight lang="perl">
@beatles = ("John", "Paul", "George", "Ringo");
print $beatles[2];
</syntaxhighlight>
</source>
 
קטע הקוד האחרון יוצר משתנה מערך בשם <code dir="ltr">@beatles</code> המחזיק ארבע מחרוזות ומדפיס את איבר מספר 2; מכיוון שהספירה מתחילה מ-0, יודפס George. התייחסות לסקלר שהוא חלק ממערך נעשית עם סימן <code>$</code> ולא סימן <code>@</code>, מכיוון שמדובר בסקלר.
כשמדובר ברשימה כמו בדוגמה למעלה (שהתאים מכילים מילים נפרדות ללא רווחים), אפשר לשם קיצור להשתמש ב-qw שזה קיצור של quote words (מרכאות על מילים). דוגמה:
 
<sourcesyntaxhighlight lang="perl">
@beatles = qw( John Paul George Ringo );
print $beatles[2];
</syntaxhighlight>
</source>
יוציא את אותו פלט.
 
שם משתנה האש מתחיל תמיד ב-<code>%</code>, שנראה כמו זוג, למשל:
 
<sourcesyntaxhighlight lang="perl">
%beatles = ("Guitar" => "John",
"Bass" => "Paul",
שורה 91:
"Drums" => "Ringo");
print $beatles{"Bass"};
</syntaxhighlight>
</source>
 
קטע הקוד האחרון יוצר משתנה האש בשם <code dir="ltr">%beatles</code> המחזיק ארבעה מפתחות (שמות של כלי נגינה) וארבעה שמות ולאחר מכן מדפיס את הערך שנמצא במפתח Bass, כלומר Paul.
שורה 99:
המשתנים לא חייבים להיות מוגדרים מראש והם נוצרים אוטומטית עם [[פקודת השמה|השמה]] ראשונה. עם זאת, כדי למנוע שגיאות אפשר להריץ את התוכנה במצב strict אשר מחייב הגדרת משתנים על ידי הפקודה <code dir="ltr">my</code>:
 
<sourcesyntaxhighlight lang="perl">
use strict;
 
my $number = 19;
$name = "Audrey";
</syntaxhighlight>
</source>
 
תוכנית זו לא תעבור הידור ולא תגיע כלל לכדי ריצה, מכיוון שהמשתנה <code dir="ltr">$name</code> לא הוגדר עם <code dir="ltr">my</code>.
שורה 120:
 
דוגמה לקוד שדומה לקוד בשפת C: סיכום כל אבריו החיוביים של מערך מספרים (input_arr). התחביר דומה מאוד לזה של C למעט ה-sigil שבתחילת מספר ובדיקת אורך המערך. בניגוד למומלץ קוד זה לא עושה שימוש ב-''my''.
<sourcesyntaxhighlight lang="perl">
$sum = 0;
for ($a=0; $a <= $#input_arr; $a++) {
שורה 127:
}
}
</syntaxhighlight>
</source>
 
דוגמת לקוד בסגנון שונה: בהינתן מערך של כלי נגינה, נדפיס מי מאנשי להקת החיפושיות מנגן באיזה כלי (ואם לא: לא נדפיס בכלל). שימו לב לשימוש ב-{{D}}$_{{D}} כמשתנה הלולאה.
 
<sourcesyntaxhighlight lang="perl">
# %beatles was defined in a previous example
my @instruments = ('Sitar', 'Violin', 'Bass', 'Drums', 'Flute', 'Bass', 'Guitar');
שורה 142:
print "$beatles{$_} plays $_.\n";
}
</syntaxhighlight>
</source>
 
== שימושים עיקריים ==