【perl】01
1、環境搭建
—— 直譯器 / 編譯器
Perl 在 Window 平臺上有 ActiveStatePerl 和 Strawberry Perl 編譯器。
ActiveState Perl和 Strawberry Perl最大的區別是 Strawberry Perl 裡面有多包含一些 CPAN 裡的模組,
所以Strawberry Perl 下載的安裝檔案有 80多M, 而ActiveState Perl 只有20M 左右
地址:
https://strawberryperl.com/
安裝完成之後使用命令進行檢查:
perl -v / perl -version
—— 開發工具
編寫Perl程式好像並沒有專門的IDE工具,所以按照以往的Java開發工具,直接上IDEA了
開啟外掛庫,裡面搜Perl是有這樣一個外掛支援的:
之後我們需要配置Perl直譯器到IDEA中,在編寫Perl程式檔案時,IDEA會提示SDK未找到,根據提示讓IDEA引導我們去配置Perl
Perl程式檔案的字尾名稱為xxx.pl
點選新增系統Perl之後,IDEA會自動找到我們之前下載安裝好的Strawberry Perl
IDEA還會有一些編寫幫助提示,是否使用嚴格語法,和是否完全提示報錯警告
2、基礎語法
——1、linux環境開發的注意事項
Linux作業系統下Perl程式檔案首行必須宣告呼叫的執行程式
#!/usr/bin/perl
另外Perl程式檔案實際上是一個可執行的指令碼檔案,如同SHELL一樣
在Linux編寫完成之後需要對該檔案進行一個可執行許可權的賦予
chmod 0777 xxx.pl
執行perl指令碼
./xxx.pl
——2、簡單的示例
在Windows下IDEA中只要配置好直譯器,就可以直接編寫程式即可
use strict; use warnings; use warnings FATAL => 'all'; # 輸出 "Hello, World" print "Hello, world\n";
IDEA似乎沒有提供專門的Perl程式執行功能,所以這裡我使用IDEA提供的終端視窗進行Perl程式執行
——3、Perl的註釋
單行註釋類似MySQL的訪問工具裡的SQL編輯器一樣,使用井號即可實現單行註釋
# 這是Perl的單行註釋
如果是使用多行註釋這需要這樣:
=pod
這是一個多行註釋
這是一個多行註釋
這是一個多行註釋
這是一個多行註釋
=cut
在IDEA的編輯區域看起來很像Java的JavaDoc註釋
/** * 這是Java的多行註釋 文件註釋 * 這是Java的多行註釋 文件註釋 * 這是Java的多行註釋 文件註釋 */
——4、空格的字串
執行命令時,命令引數會忽略過多的空格字元
如果是輸出的字串中帶有的空格,Perl則會原封不動的輸出
use strict; use warnings; use warnings FATAL => 'all'; # 輸出 "Hello, World" print "Hello, world\n"; # 也可以使用括號表示 print ("Hello, world\n");
——5、警告提示
警告是對程式存在的潛在異常進行輸出提示
Perl原始的警告提示是使用命令引數實現:
-w
w即warnings警告的縮寫
在linux環境下,指令碼的首位宣告加上該引數即可
#!/usr/bin/perl -w
如果是windows,則是
perl -w xxx.pl
在perl5.6版本中,還支援類似JS語法的宣告(即一開始的IDEA幫助提示)
use warnings;
檢視更為詳細的問題描述,可以再宣告一句
use diagnostics;
——6、字元輸出問題
在perl中支援雙引號和單引號兩種字元修飾的處理,但是會有區別:
$a = 10; print "a = $a\n"; print 'a = $a\n';
Perl雙引號和單引號的區別: 雙引號可以正常解析一些轉義字元與變數,而單引號無法解析會原樣輸出。
a = 10 a = $a\n
對單個的特殊字元的輸出顯示可以使用\實現
use strict; use warnings FATAL => 'all'; use diagnostics; $a = 10; print "\$a = $a\n";
——7、文件輸出
$b = <<"EOF"; 這是一個 Here 文件例項,使用雙引號。 可以在這輸如字串和變數。 例如:a = $a EOF