#!/usr/bin/perl -w # 數數看 stdin 輸入的資料, 或命令列上所指定的檔案內所讀入的資料, # 每列的長度是多少. # http://www.cyut.edu.tw/~ckhung/b/pl/ # 這個程式有點複雜, 新手可以略過它的內容, 只要會用就可以了: # 1. 處理檔案: ./length rencase_loop fruit.txt sum_stdin # 2. 處理stdin: ls /etc/rc.d | ./length # 3. 混著處理: ls /etc/rc.d | ./length rencase_loop - fruit.txt sum_stdin # 還要知道你之所以能以各種方式執行它, 全都是 <> 的功勞 # (而不是因為程式本身的判斷) while (<>) { # 對鍵盤上輸入或從檔案讀入的每列做 ... print "$ARGV:" if $. == 1; # 看到每個檔案的第一列時印檔名. 見 perlvar(1) chomp; # 去掉一列最後面的換列字元 print " ", length($_); # 印出它的長度. if (eof) { # 處理完每個檔案... . 見 perlfunc(1) print "\n"; # 就印換列 close ARGV; # 且將 $. 歸零 } }