4. Các lệnh điều khiển chương trình: Khối các câu lệnh:
4.4 Câu lệnh for:
Một kết cấu lặp khác của Perl là câu lệnh for, mà trông giống như câu lệnh for của C, và làm việc thì đại thể cũng giống thế. Sau đây là nó:
for (bieu thuc khoi dau; bieu thuc kiem tra; bieu thuc tang bien dem) { cau lenh 1;
cau lenh 2; cau lenh 3;
.... }
Gỡ ra theo dạng ta đã thấy trước đây, điều này trở thành bieu thuc khoi dau;
while (bieu thuc kiem tra) { cau lenh 1;
cau lenh 2; cau lenh 3; ....
bieu thuc tang; }
Trong cả hai trường hợp, biểu thức khởi đầu đều được tính trước. Biểu thức này về điển hình chỉ gán giá trị ban đầu cho một biến lặp, nhưng cũng chẳng có hạn chế nào về việc nó có thể chứa cái gì - trong thực tế nó có thể rỗng. Rồi biểu thức kiểm tra sẽ được tính để xác định đúng sai. Nếu giá trị tính được là đúng thì thân chu trình sẽ được thực hiện, tiếp theo đó là tính biểu thức tăng (mà điển hình là được dùng để tăng bộ lặp). Perl tiếp đó sẽ tính lại biểu thức kiểm tra, lặp lại khi còn cần.
Thí dụ này in ra các số từ 1 đến 10, mỗi số đều có sau nó một dấu cách: for ($i = 1; $i <= 10; $i++)
print "$i "; }
Ban đầu, biến $i được đặt là 1. Rồi, biến này được so sánh với 10, mà thực sự nó đang bé hơn hay bằng. Thân của chu trình (mỗi câu lệnh print) được thực hiện, và rồi biểu
thức tăng (biểu thức tự tăng $i++) sẽ được thực hiện, thay đổi giá trị trong $i thành 2. Vì 2 vẫn còn bé hơn hay bằng 10 nên ta lặp lại tiến trình, cho tới khi lần lặp cuối mà giá trị 10 của $i đổi thành 11. Rồi 11 không còn bé hơn hay bằng 10 nữa, cho nên chu trình thoát (với $i có giá trị 11).