Perl 入門指南 - 副程式





































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







沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





Popular posts from this blog

迅雷 Thunder 7.9.43.5054 免安裝版 (9.1.41.914 安裝版) - 支援BT下載的萬用 檔案下載工具

qBittorrent 4.1.1 免安裝中文版 - 取代uTorrent的BT下載器

Nhiều đồn đoán cho rằng bộ đồ "phá vỡ quy tắc" của Meghan Markle được lấy cảm hứng từ trang phục của Công nương Diana