ערכי האינדקס בדוגמא הקודמת היו מספרים שלמים (integer) , אך כל ביטוי שמחזיר מספר יכול להוות אנדקס אשר יחזיר את האלמנט הרלוונטי.
@fred = (
7,
8,
9);
$a =
2;
$b = $fred[$a];/* | המשתנה b$ יקבל את הערך 9 | */ |
# $fred[2] ממש כמו
$c =
$fred[
$a-
1];
# $fred[1] יקבל את הערך של $c
... זאת אומרת - הערך
8
($c) = (7,8,9)[$a-1];
/* | ביטוי זה ייתן את אותה התוצאה, רק תוך שימוש ב - slice
| */ |
קודם הביטוי מחושב (זאת אומרת האנדקס) ורק אז מציבים את האלמנט המתאים.
... וב - slice - ים :
תת הביטוי שמחושב יחזיר כתוצאה מערך ולא סקלר, כמו קודם. כפי שניתן לראות בדוגמא:
: משמעות הקוד
@fred = (7,8,9);
@barney = (2,1,0);
@backfired = @fred[@barney];
: היא ממש כמו לכתוב את אחד משלושת הביטויים
@fred[2,1,0]
($fred[2], $fred[1], $fred[0])
(9,8,7)
להוספת תגובה, אנא התחברו לדרכונט.