Tôi đang làm việc trên một phiên bản mới của một mã số đã phát hành của perl, và tìm thấy dòng:
$|++;
AFAIK, $ | có liên quan với các đường ống, như được giải thích in this link và tôi hiểu điều này, nhưng tôi không thể tìm ra cái ++ (cộng thêm) có nghĩa là ở đây.
Cảm ơn bạn trước.
EDIT: Tìm thấy câu trả lờiin this link:
Nói tóm lại: Nó buộc in (tuôn) để giao diện điều khiển của bạn trước khi báo cáo kết quả tiếp theo, trong trường hợp kịch bản là quá nhanh.
Đôi khi, nếu bạn đặt lệnh in trong vòng lặp chạy rất nhanh, bạn sẽ không thấy đầu ra của bản in cho đến khi chương trình kết thúc. đôi khi, bạn thậm chí không thấy kết quả đầu ra. giải pháp cho vấn đề này là "xả" bộ đệm đầu ra sau mỗi câu lệnh in; điều này có thể được thực hiện trong perl với lệnh sau đây:
$|++;
[cập nhật] như đã được chỉ ra bởi r. schwartz, tôi đã nhầm lẫn; lệnh trên gây ra in để xóa bộ đệm trước đầu ra tiếp theo.
Re "*' $ | ++ 'do đó tăng nó lên 1. *", Không hoàn toàn. '$ | ++' đặt nó thành '1', bất kể giá trị của nó trước đây là bao nhiêu. Đó là "lối tắt" cho '$ | = 1; ' – ikegami