}
Var ở đây là một biến sẽ có giá trị lần lượt là từng giá trị trong list, mỗi vòng lặp sẽ là một giá trị tiếp theo. Cấu trúc này hoàn toàn tương đương với cấu trúc FOR chỉ khác ở điểm là không có giá trị index của phần tử trong list. Ví dụ sử dụng FOREACH để in ra các số từ 1 đến 10 -SCRIPT- #!/usr/bin/perl -w use strict; foreach my $i (1..10) { print $i . " "; } -/SCRIPT-
List ở đây là danh sách các số từ 1 đến 10 hay (1..10), mỗi lần vòng lặp thực hiện biến $i sẽ có giá trị là giá trị kế tiếp giá trị đã xử lý ở trước, cứ như vậy cho đến khi kết thúc list.
List ở đây là danh sách các số từ 1 đến 10 hay (1..10), mỗi lần vòng lặp thực hiện biến $i sẽ có giá trị là giá trị kế tiếp giá trị đã xử lý ở trước, cứ như vậy cho đến khi kết thúc list. nhờ các hàm điều khiển để gọi lại quá trình ở nhãn đó. Các nhãn đều được viết hoa và có dấu : để xác định vị trí nhãn.
LABEL: statement
Đôi khi có nhiều vòng lặp lồng ghép vào nhau (nested loops), bạn muốn nhảy vào các vị trí các vòng lặp khác nhau, thì việc sử dụng nhãn để điều khiển là rất cần thiết và hiệu quả.
Để sử dụng nhãn, một số hàm được thiết kế để gọi khối lệnh tại nhãn đó.
next: bỏ qua vòng lặp hiện tại và nhảy đến vị trí tiếp theo, có thể là vòng lặp tiếp theo, có thể là nhãn, có thể là điều kiện if, unless… (tương đương với continue trong C/C++)
last: kết thúc vòng lặp tức thì và nhảy đến vị trí tiếp theo, có thể là thoát khỏi vòng lặp ,có thể là nhãn, có thể là điều kiện if, unless…(tương đương với break trong C/C++)
redo: thực hiện lại vòng lặp hiện tại đang thực thi mà không đánh giá điều kiện lặp. goto: nhảy đến một nhãn nào đó và thực hiện chương trình tại đó.