為Java程式設計師準備的10分鐘Perl教程
這10分鐘教程並不是Java和Perl的比較。目標是探索作為Java開發人員如何快速學習Perl。以下是一些從我的角度來看的關鍵筆記。
1.從基礎開始
不像java,Perl不需要“main”方法作為入口點。要執行一個簡單的Perl程式如下:
# comment starts with "#" # the name is hello.pl print "Hello Perl!";
perl hello.pl
2. 日期型別
在Perl中的日期型別是非常簡單,它有3種型別:標量,陣列和Hash。
標是一個單值,它基本上可以是任何其他比陣列或雜湊。
陣列是一個陣列,可以包含不同型別的元素,如整數,字串。
雜湊基本上是像Java的HashMap中。
將下面的程式碼結合所有的使用情況。
#claim a hash and assign some values my %aHash; $aHash{'a'}=0; $aHash{'b'}=1; $aHash{'c'}=2; $aHash{'d'}=3; $aHash{'e'}=4; #put all keys to an array my @anArray = keys (%aHash); #loop array and output each scalar foreach my $aScalar (@anArray){ print $aScalar."\n"; }
輸出結果:
e c a b d
如果你想對陣列進行排序,你可以簡單地使用類似下面的排序功能:
foreach my $aScalar (sort @anArray){ print $aScalar."\n"; }
3. 條件、迴圈表示式
Perl為條件和迴圈語句準備了if, while, for, foreach等關鍵字,這與Java非常類似(switch除外)。
詳情請見下面的程式碼:
#if my $condition = 0; if( $condition == 0){ print "=0\n"; }elsif($condition == 1){ print "=1\n"; }else{ print "others\n"; } #while while($condition < 5){ print $condition; $condition++; } for(my $i=0; $i< 5; $i++){ print $i; } #foreach my @anArray = ("a", 1, 'c'); foreach my $aScalar (sort @anArray){ print $aScalar."\n"; }
4.檔案的讀寫
下面這個例子向我們展示瞭如何讀寫檔案。這裡請注意">"和">>"之間的區別,">>"在檔案末尾追加內容,">"建立一個新的檔案儲存資訊。
#read from a file my $file = "input.txt"; open(my $fh, "<", $file) or die "cannot open < $file!"; while ( my $aline = <$fh> ) { #chomp so no new line character chomp($aline); print $aline; } close $fh; # write to a file my $output = "output.txt"; open (my $fhOutput, ">", $output) or die("Error: Cannot open $output file!"); print $fhOutput "something"; close $fhOutput;
5.正規表示式
Perl中有兩種使用正規表示式的方法:m和s。
下面的程式碼在$str上應用了正規表示式。
$str =~ m/program(creek|river)/
如果$str的內容是“programcreek”,表示式將會返回true。這也可以被用於條件判斷或迴圈。
6.傳值/引用的語法
在Perl中沒有必要定義方法/函式,但如果你這麼做了,那將大大提高程式碼的模組化和可充用性。但我們需要對引數的傳遞非常小心。
你可以直接傳遞一個標量,但如果傳遞的是陣列或雜湊類就需要特別的當心。
陣列:
my @testArray = (1, 3, 2); #In sub sub processArrayByReference($) { my $arrayref = shift; my @array = @$arrayref; #... } #In sub processarray: sub processArrayByValue($){ my @array = @_; #... } processArrayByValue(@testArray); processArrayByReference( \@testArray );
哈系類:
sub printHash($) { my %hash = %{ shift() }; for my $key ( sort keys %hash ) { my $value = $hash{$key}; print "$key => $value\n"; } } printHash(\%twoLettersCount);
7.一些例項
1).遍歷字串中的每個字元。
my @lineCharArray = split('',$aline); foreach my $character (@lineCharArray){ print $character."\n"; }
2).建立一個包含26個字母的陣列。
你可以簡單地實現這個功能並且無需迴圈26次。
my @charArray = ('a'..'z' ); my @twoCharArray = ('aa'..'zz');
以上是第一個版本的“10分鐘”,我還將根據評論持續更新本文。
原文地址:http://www.programcreek.com/2012/09/10-minutes-perl-tutorial-for-java-developer/
相關文章
- 為 Java 程式設計師準備的 Go 入門 PPTJava程式設計師Go
- 20 個為設計師準備的 Photoshop 教程
- 好程式設計師Java教程教你5分鐘瞭解快速排序程式設計師Java排序
- [譯] 為 JavaScript 程式設計師準備的 Flutter 指南JavaScript程式設計師Flutter
- 程式設計師,為未來準備好了嗎?程式設計師
- 為程式設計師準備的7個社交網站程式設計師網站
- Cultured Perl: 吸引 C 和 Java 程式設計師目光的 Perl 5.6 (轉)Java程式設計師
- 學習10分鐘,改變你的程式設計師生涯程式設計師
- 為設計師準備的5個最佳遊戲遊戲
- 為Web程式設計師準備的10個最棒的jQuery視訊外掛Web程式設計師jQuery
- 程式設計師準備面試時常犯的10個錯誤程式設計師面試
- 為程式設計師準備的7個國外社交網站程式設計師網站
- 華為程式設計師面試要改:網上程式設計 90 分鐘,現場程式設計 30 分鐘程式設計師面試
- 為Web設計師準備的10個HTML5線上工具WebHTML
- 親愛的老闆:程式設計師的10分鐘就是3個小時程式設計師
- 國外程式設計師是如何準備面試的?程式設計師面試
- Java程式設計師必備技能Java程式設計師
- 程式設計師必備:技術面試準備手冊程式設計師面試
- Java程式設計師必備的10個大資料框架!Java程式設計師大資料框架
- 五分鐘學習 Java 8 的流程式設計Java程式設計
- 成為優秀Java程式設計師的10大技巧Java程式設計師
- 為 Web 設計師準備的 20 款 CSS3 工具WebCSSS3
- 好程式設計師Java教程分享Java之設計模式程式設計師Java設計模式
- 程式設計師如何準備面試中的演算法程式設計師面試演算法
- 給所用準備當老闆的程式設計師們 (轉)程式設計師
- 為設計師準備的 10 個非常有用和高效的線框圖工具
- 一分鐘先生: 程式設計師面試真經程式設計師面試
- 大學教程式設計的老師為何不去當高收入的程式設計師?程式設計師
- Java程式設計師必備的工具和框架Java程式設計師框架
- Java程式設計師的工資標準是多少Java程式設計師
- 優秀的程式設計師10分鐘內能搞定下面5個程式設計問題,你呢?程式設計師
- 程式設計師跳槽時,如何高效地準備面試?程式設計師面試
- 成為優秀Java程式設計師的10個要點Java程式設計師
- 好程式設計師Java學習路線分享5分鐘瞭解計數排序程式設計師Java排序
- 10分鐘入門Shell指令碼程式設計指令碼程式設計
- 為設計師們準備的各種實用法律檔案
- 好程式設計師Java教程分享Java面試妙招程式設計師Java面試
- 好程式設計師Java教程分享Java語法程式設計師Java