Perl 入門指南 - 副程式
- Get link
- X
- Other Apps

Perl 入門指南 - 副程式
副程式 (subroutine) 是一種功能性的模組,可以將程式 (program) 分割成小部分,藉由呼叫方法安排執行順序

定義副程式使用關鍵字 (keyword) sub ,其後的大括弧放副程式內容。 shift 為用來取得參數 (parameter) 的內建函數 (function) ,例如
sub big {
$a = shift;
$b = shift;
if ($a > $b) {
return $a;
}
else {
return $b;
}
}
這樣 big 就會接收兩個參數,然後判斷哪個參數比較大,最後回傳比較大的參數,這是使用 return 設定回傳值 (return value) ,我們將 big 寫成一個完整範例
#!/usr/bin/env perl
sub big {
$a = shift;
$b = shift;
if ($a > $b) {
return $a;
}
else {
return $b;
}
}
print "n";
print big(22, 11)."n";
print big("John", "Mary")."n";
print "n";
# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:bigdemo.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月
第 16 行先比較 33 與 22 的大小,然後印出哪一個比較大
print big(22, 11)."n";
第 17 行則是比較 "John" 與 "Mary" 的大小,字串比較是先比較第一個字元,按字母順序,順序越後面的值越大
print big("John", "Mary")."n";
執行結果如下

副程式常見的運用為重複性質的工作,我們另舉一例如下
#!/usr/bin/env perl
sub print_newline {
print "n";
}
sub print_something {
$a = shift;
print "$an";
}
sub return_something {
return shift;
}
print_newline;
print_something(return_something("There is no spoon."));
print_newline;
# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:printdemo.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月
這裡總共有三個副程式, print_newline 就是簡單的印出新行
sub print_newline {
print "n";
}
print_something 則是印出參數
sub print_something {
$a = shift;
print "$an";
}
return_something 則是回傳參數
sub return_something {
return shift;
}
執行結果如下

學會副程式後,我們要進一步來看看怎麼設計套件 (package) 囉!
中英文術語對照 | |
---|---|
副程式 | subroutine |
程式 | program |
關鍵字 | keyword |
參數 | parameter |
函數 | function |
回傳值 | return value |
套件 | package |
您可以繼續參考
基礎篇
- 認識 Perl 語言
- 如何執行 Perl 程式
- 變數型態
- 命名規則
- 運算式與陳述
- 選擇
- 迴圈
- 副程式
- 套件
- 模組
相關目錄
回 Perl 入門指南
回 Perl 教材
回首頁
參考資料
http://perldoc.perl.org/perlintro.html
http://perldoc.perl.org/perlsyn.html
http://www.tutorialspoint.com/perl/perl_subroutines.htm
訂閱:
張貼留言 (Atom)
window.___gcfg = { 'lang': 'zh-TW' };
- Get link
- X
- Other Apps
沒有留言:
張貼留言