Perl cung cấp tính năng này rất đẹp:Perl: Cách lấy tên tệp khi sử dụng <> cấu trúc?
while (<>)
{
# do something
}
... cho phép các kịch bản được sử dụng như script.pl <filename>
cũng như cat <filename> | script.pl
.
Bây giờ, có cách nào để xác định xem tập lệnh có được gọi theo cách cũ hay không và nếu có, tên tệp là gì?
Tôi biết tôi biết điều này một lần, và tôi biết tôi thậm chí còn sử dụng cấu trúc, nhưng tôi không thể nhớ vị trí/cách thức. Và nó đã chứng minh rất khó để tìm kiếm 'net cho điều này ("perl stdin filename"? Không ...).
Trợ giúp, vui lòng?
bạn có thể làm điều đó bằng cách kiểm tra @ARGV không? – beresfordt
Xin lỗi vì cái cũ/thứ hai, mà dường như đã gây ra một số nhầm lẫn. – DevSolar
Bạn có thể tìm thấy hầu hết mọi thứ trong tài liệu. 'perldoc perlvar' chứa thông tin về' $ ARGV', ví dụ. – TLP