Perl 入門指南 - 特別變數





































Perl 入門指南 - 特別變數






就像我們常常替熟悉的事物取暱稱一樣, Perl 裡頭有很多預先定義好的特別變數 (special variable) ,需要的時候直接拿來用就可以了




像是 $_ 可取得 foreach 迴圈中每一輪的元素,例如
#!/usr/bin/env perl

@a = reverse((1 .. 10));
print "n";
foreach (@a) {
print "$_n";
}
print "n";

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:demo5.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月



這樣子就少定義一個變數了,執行結果會跟之前的例子相同



$_ 也是多用途的,官網對 $_ 的定義為 The default input and pattern-searching space. ,這意思是前文輸入的變數,其他常用的地方像是副程式 (subroutine) 中的參數 (parameter) ,例如
#!/usr/bin/env perl

sub print_newline {
print "n";
}

sub print_something {
print "$_[0]n";
}

sub return_something {
return $_[0];
}

print_newline;
print_something(return_something("There is no spoon."));
print_newline;

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:demo6.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月



原本副程式的參數需要用 shift 來設定
$a = shift;



用 $_ 的話,索引值為 0 就是副程式小括弧中的第一個參數,索引值為 1 就是副程式小括弧中的第二個參數,餘下可類推。這樣 demo6.pl 會跟之前 printdemo.pl 的執行結果一模一樣



除了 $_ 之外,特別變數還有很多,像是









































$.$/$,$$"$;$^L$:
$^A$#$?$!$@$$$<$>
$($)$0$[$]$^D$^E$^F
$^H$^I$^M$^O$^P$^T$^W$^X



以上是純量變數 (scalar variable) 的部份,其他還有很多很多,另外須注意暱稱不止一個,像 $_ 也可以用 $ARG 。


特別變數是 Perl 提供給程式設計師方便寫程式的用法,我們還不需要急著學會所有的特別變數,因為裡面很多用法牽涉到更深入的程式設計概念,現在我們需要知道的是 Perl 有這些為數眾多的特別變數,可以簡化程式的寫法。


目前為止,我們寫程式都沒有採取嚴格的寫法,直譯器並不會警告或提醒有哪些地方不妥當,接下來我們來看看 my 與 use 吧!






















中英文術語對照
特別變數special variable
副程式subroutine
參數parameter
純量變數scalar variable



您可以繼續參考
軟體開發

  • 特別變數

  • my 與 use

  • Encrypt 模組

  • new 方法

  • 編碼與解碼

  • 認識 CPAN





相關目錄

回 Perl 入門指南
回 Perl 教材
回首頁



參考資料

http://perldoc.perl.org/perlvar.html
http://www.tutorialspoint.com/perl/perl_special_variables.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