Scripting 設計 小考 B


請寫一個 perl 程式, 從命令列讀入幾個數字, 例如 2, 0, 5, 然後從 stdin 讀入一列列的英文字, 把每個英文字的第 2, 0, 5 個字母變成大寫印出, 像這樣:

        greg@penguin:~$ ./to-upper 2 0 5
        wonderful
        WoNdeRful
        casablanca
        CaSabLanca
        hi
        Hi
        fascinating
        FaSciNating

注意及提示:

  1. 可以不必檢查錯誤的輸入資料。
  2. 寫一點 (每增加一點功能), 就測試一下; 不要把整個程式寫完才測試。 (除非你是程式設計高手)
  3. 提示: 需要用到函數 uc() 可將字串變大寫。 詳見 perlfunc。
  4. 提示: 需要用到函數 substr($x, $i, $j) 可將字串 $x 從第 $i 個字元起, 取出 $j 個字元。 詳見 perlfunc。
  5. 建議逐次增加一點功能; 逐次上傳部分成果:
    1. 讀一列, 印一列。
    2. 讀一列, 整個字串變大寫, 印出。
    3. 讀一列, 固定將字串的第 2 個字母變大寫, 印出。
    4. 讀一列, 將字串的第 $i 個字母變大寫, 印出。 其中 $i 由命令列最前面的參數決定。
    5. 改成完全符合題目要求。