print reverse <>;
print sort <>;
perl處理這些操作的確切步驟是什麼?需要更多關於這裏做什麼的解釋?
這似乎爲1st
一個,perl的不只是反轉的調用參數的順序,而每個文件也內容...
print reverse <>;
print sort <>;
perl處理這些操作的確切步驟是什麼?需要更多關於這裏做什麼的解釋?
這似乎爲1st
一個,perl的不只是反轉的調用參數的順序,而每個文件也內容...
print reverse <>;
<>
在數組環境中計算,這意味着它「吸食「 文件。它讀取整個文件。在由@ARGV命名的文件表示的魔術文件的情況下,它將按照命令行參數(@ARGV)引用的順序讀取所有文件的內容。
reverse
然後反轉數組的順序,這意味着最後一個文件的最後一行最先出現,最後一個文件的第一行最後一行出現。
print
然後打印數組。
從你的筆記,你可能會想是這樣的:
perl -e 'sub BEGIN { @ARGV=reverse @ARGV; } print <>;' /etc/motd /etc/passwd
這在docs for I/O operators描述。以下是文檔的摘錄:
空文件句柄<>是特殊的:它可以用來模擬sed和awk的行爲。來自<>的輸入來自標準輸入或來自命令行上列出的每個文件。以下是它的工作原理:第一次計算<>時,將檢查@ARGV數組,如果它是空的,則$ ARGV [0]設置爲「 - 」,打開時爲您提供標準輸入。 @ARGV數組然後被處理爲一個文件名列表。
它值得閱讀整個文檔,因爲它提供了在各種使用情況下相當於<>
的等效「非魔力」Perl代碼。
數組是一個變量類型;你的意思是「在列表上下文中評估」,「顛倒列表的順序」,「然後打印列表」。 – ysth