欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Perl中常見符號與操作

 更新時間:2017年10月09日 14:47:31   投稿:mdxy-dxy  
這篇文章主要介紹了Perl中常見符號與操作,需要的朋友可以參考下

注釋:

1.單行: #print
2.多行:=pod …. =cut

查詢perl相關:

Perldoc perlvar($a,$$,$”...)
Perldoc perfunc(sort…)
Perldoc perl 查看perldoc文章列表
Perldoc –q 正則表達式
Perldoc –f 函數名
Perldoc module_name 查看模塊
Perldoc –v 變量名 查看變量
Perldoc perlop 查看操作符

查看模塊相關函數:

1.Perl –d –e 0
2.Use module::submod
3.S module::submod

測試程序運行時間:

1.Unix下:Time perl5 perl_program
2.程序內添加:$end_time = time();$elapsed_time = $^T - $end_time; print $elapsed_time;
3.perl程序內使用benchmark模塊: use benchmark; timestamp1 = new benchmark; {Code};timesamp2 = new benchmark; time_run = timediff(timestamp2 - timesamp1);

符號:

<=> Spaceship operator,太空船操作符:三向的比較數字操作符。$a<=>$b 這個操作符比較兩個數字,返回-1,0,1。返回1:$a>$b,返回0:$a=$b,返回-1:$a<$b。
$a,$b在sort中使用時代表第一個和第二個進來的標量或數組等
$! 根據上下文內容返回錯誤號或者錯誤串
$” 列表分隔符
$# 打印數字時默認的數字輸出格式
$$ Perl解釋器的進程ID
$% 當前輸出通道的當前頁號
$& 與上個格式匹配的字符串
$( 當前進程的組ID$) 當前進程的有效組ID
$* 設置1表示處理多行格式.現在多以/s和/m修飾符取代之.
$, 當前輸出字段分隔符
$. 上次閱讀的文件的當前輸入行號
$/ 當前輸入記錄分隔符,默認情況是新行
$: 字符設置,此后的字符串將被分開,以填充連續(xù)的字段.
$; 在仿真多維數組時使用的分隔符.
$? 返回上一個外部命令的狀態(tài)
$@ Perl解釋器從eval語句返回的錯誤消息
$[ 數組中第一個元素的索引號
$\ 當前輸出記錄的分隔符
$] Perl解釋器的子版本號
$^ 當前通道最上面的頁面輸出格式名字
$^A 打印前用于保存格式化數據的變量
$^D 調試標志的值
$^E 在非UNIX環(huán)境中的操作系統(tǒng)擴展錯誤信息
$^F 最大的文件捆述符數值
$^H 由編譯器激活的語法檢查狀態(tài)
$^I 內置控制編輯器的值
$^L 發(fā)送到輸出通道的走紙換頁符
$^M 備用內存池的大小
$^O 操作系統(tǒng)名
$^P 指定當前調試值的內部變量
$^R 正則表達式塊的上次求值結果
$^S 當前解釋器狀態(tài)
$^T 從新世紀開始算起,腳步本以秒計算的開始運行的時間
$^V perl版本
$^W 警告開關的當前值
$^X Perl二進制可執(zhí)行代碼的名字 (perl指令)
$_ 默認的輸入/輸出和格式匹配空間
$| 控制對當前選擇的輸出文件句柄的緩沖
$~ 當前報告格式的名字
$` 在上個格式匹配信息前的字符串
$' 在上個格式匹配信息后的字符串
$+ 與上個正則表達式搜索格式匹配的最后一個括號
$< 當前執(zhí)行解釋器的用戶的真實ID
$ 含有與上個匹配正則表達式對應括號結果
$= 當前頁面可打印行的數目
$> 當前進程的有效用戶ID包含正在執(zhí)行的腳本的文件名
$ARGV 從默認的文件句柄中讀取時的當前文件名
%ENV 環(huán)境變量列表
%INC 通過do或require包含的文件列表
%SIG 信號列表及其處理方式
@_ 傳給子程序的參數列表
@ARGV 傳給腳本的命令行參數列表
@INC 在導入模塊時需要搜索的目錄列表
$-[0]和$+[0] 代表當前匹配的正則表達式在被匹配的字符串中的起始和終止的位置

while(){ 
  my($date,$desc,$income,$expend) = unpack(“A10xA27xA7xA*”); 

簡單說明:

  A10: A表示ASCII,A10表示10個ASCII character, Date的表示就是用10個ASCII碼;
  x  : x表示null byte也等于skip a byte,也就是說我們要跳過一個char(|),
  A27: 然后接著27個ASCII char,
  x  : 然后跳過一個vhar,
  A7 : 再接上7個ASCII,
  x  : 在跳過一個char,
  A* : 最后A*表示不管后面char有多少個,全含括進來。

在通常的子例程調用過程中,并不會搜索@ISA數組。但如果用戶以調用方法的語法來調用子程序的話,程序就會去搜索@ISA數組。

  @ISA     = qw(Exporter Net::Cmd IO::Socket::INET);
 
vars 是一個Perl的pragma,用來預定義全局變量。這些預定義后的全局變量qw()列表中的在整個Perl文件中皆可使用,使用了use strict也不會報警:
use vars qw($TELNET_IAC $TELNET_IP $TELNET_DM);
($TELNET_IAC,$TELNET_IP,$TELNET_DM) = (255,244,242);


$-[0]和$+[0] 代表當前匹配的正則表達式在被匹配的字符串中的起始和終止的位置
|- 打開一個“輸出到”管道,那么你就可以向你打開的這個文件句柄寫數
-| 打開一個“來自”管道,那么你可以從這個文件句柄讀取數據


#!/usr/bin/perl
print $_.”\n”;#缺省輸入。
print @_.”\n”;#函數參數


#局域變量
print $&.”\n”;#當字符串用于模式匹配時,字符串被分成了三部分:匹配以前的部分,匹配上的部分,匹配以后的部分。任何部分都可能是空,這個變量指最近一次匹配上的字符串。
print $'.”\n”;#匹配部分以后的部分。
print $`.”\n”;#最近一次匹配,匹配部分以前的部分。
print $+.”\n”;#最后一個圓括號中的子表達式匹配的部分。
print $*.”\n”;#缺省情況下,Perl 為了加快匹配速度,假設模式中不包括新行,也就是只執(zhí)行單行匹配。如果要執(zhí)行多行匹配,就要把此值設成 1。
print @+.”\n”;#這個數組保存當前匹配的最后成功子匹配的結尾的偏移量。$+[0]是整個匹配的偏移量。$+[1]是$1 結束的偏移量,$+[2]是$2 結束的偏移量。
print @-.”\n”;#$-[0] 是最后一個成功的匹配的開始的偏移量。$-[n]是第 n 個子模式的偏移量,或 undef,如果沒有匹配上的話。$-[0]也可
以看成是整個匹配開始的偏移量。$-[1]是$1開始的地方,$-[2] 是$2 開始的地方,依次類推。
print
#輸入、輸出變量
print $..”\n”;#最近一次執(zhí)行讀操作的當前行數。顯式的關閉文件句柄重置行數。
print $/.”\n”;#輸入記錄分隔符,缺省值是新行。
print $,.”\n”;#print操作的輸出域分隔符。
print $\..”\n”;#print 操作的輸出記錄分隔符。通常用于省略換行符。
print $”.”\n”;#當數組轉換成字符串時,元素缺省以空格分隔(例如,當打印數組時)。這個變量即代表這個分隔符,缺省是空格。
print $^L.”\n”;#當執(zhí)行一個進紙動作時輸出的字符。缺省是 \f。
print $:.”\n”;#就是目前可以作為折行的字符集合。缺省值是” \n“(也就是空白,換行字符,以及連字號)。
print $^A.”\n”;#格式化行的寫收集器的當前值。


#錯誤變量
print $?.”\n”;#$CHILD_ERROR 包含了最近一次執(zhí)行的外部程序結束狀態(tài)。這些程序以辦是通過管道,反小點 (”) 或system 函數執(zhí)行的。
print $!.”\n”;#$OS_ERROR, $ERRNO 包含了系統(tǒng)的錯誤。如果用在數值的地方,就是系統(tǒng)錯誤碼;如果用在字符串的地方,就是錯誤信息字符串。
print $^E.”\n”;#$EXTENDED_OS_ERROR 在某些平臺,返回擴展錯誤信息。
print $@.”\n”;#$EVAL_ERROR 從上一個 eval 命令的 Perl 語法錯誤信息


#系統(tǒng)變量
print $$.”\n”;#運行當前腳本的 Perl 進程的 pid。
print $<.”\n”;#當前進程的實際用戶標識符(uid)。
print $>.”\n”;#當前進程的有效用戶標識符。
print $(.”\n”;#當前進程的實際組標識符(gid)。
print $).”\n”;#當前進程的有效組標識符。
print $0.”\n”;#正在執(zhí)行的 Perl 腳本的文件名稱。這個參數與執(zhí)行時輸入有關
print $[."\n";#數組中第一個元素的序號或子串中第一個字符的序號。缺省是 0。
print $].”\n”;#返回版本號,加上補丁級別除以 1000。
print $M.”\n”;#$M 的內容能用作緊急內存池,以便 Perl 出out-of-memory 錯誤時使用。使用$M 要求 Perl 進行特殊的編譯。
print $^F.”\n”;#最大的系統(tǒng)文件描述符,通常是 2。
print $^I.”\n”;#原地編輯擴展的當前值??墒褂?undef 禁止原地編輯。
print $^W.”\n”;#警告開關的當前值,真或假。
print $^T.”\n”;#當前腳本開始運行的時間。以秒為單位,從 1970年開始。
print $^O.”\n”;#編譯 Perl 本身時的操作系統(tǒng)名稱。
print $^X.”\n”;#二進制 Perl 執(zhí)行文件的名稱。
print $^D.”\n”;#調試標志的當前值。
print $^P.”\n”;#是否打開調試。
print $ARGV.”\n”;#當從< >讀入時的當前文件名。


#其它
print @ARGV.”\n”;#命令行參數。
print $ARGV.”\n”;#當前文件的文件名,代表標準輸入<STDIN>。
print @INC.”\n”;#尋找 Perl 腳本的地址表。
print %INC;#通過 do 或 requir 包含的文件名的目錄。
print $#ARGV 數組長度-1

相關文章

  • windows安裝perl及komodo IDE的詳細步驟

    windows安裝perl及komodo IDE的詳細步驟

    這篇文章主要介紹了windows安裝perl及komodo IDE的詳細步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Perl中的文件讀寫學習筆記

    Perl中的文件讀寫學習筆記

    這篇文章主要介紹了Perl中的文件讀寫學習筆記,本文講解了打開、關閉文件、讀文件、寫文件、判斷文件狀態(tài)等內容,需要的朋友可以參考下
    2015-02-02
  • cpan安裝Net::SSH::Perl中遇到的一些問題

    cpan安裝Net::SSH::Perl中遇到的一些問題

    cpan安裝Net::SSH::Perl中遇到的一些問題,需要的朋友可以參考下
    2013-02-02
  • Perl與JS的對比分析(數組、哈希)

    Perl與JS的對比分析(數組、哈希)

    下面小編就為大家?guī)硪黄狿erl與JS的對比分析(數組、哈希)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • perl跳過首行讀取文件的實現代碼

    perl跳過首行讀取文件的實現代碼

    要求直接跳過第一行,然后讀取后面的內容,以下代碼來自網絡,感謝原作者的辛苦勞動,順祝新年快樂
    2013-02-02
  • 一行代碼解決 perl輸入 排序 輸出問題

    一行代碼解決 perl輸入 排序 輸出問題

    一行代碼解決 perl輸入 排序 輸出問題,需要的朋友可以參考下
    2013-02-02
  • Perl學習筆記之CPAN使用介紹

    Perl學習筆記之CPAN使用介紹

    這篇文章主要介紹了Perl學習筆記之CPAN使用介紹,本文講解了什么是CPAN、CPAN的目錄作用介紹、CPAN安裝Perl Module的兩種方法等內容,需要的朋友可以參考下
    2015-06-06
  • Windows10下安裝配置 perl 環(huán)境的詳細教程

    Windows10下安裝配置 perl 環(huán)境的詳細教程

    Perl 最重要的特性是Perl內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。這篇文章主要介紹了Windows10下安裝配置 perl 環(huán)境的詳細教程,需要的朋友可以參考下
    2020-12-12
  • cpanm安裝及Perl模塊安裝教程

    cpanm安裝及Perl模塊安裝教程

    這篇文章主要介紹了cpanm安裝及安裝Perl模塊教程,本文先是給出了cpanm的安裝教程,同時給出了Perl模塊的安裝實例,需要的朋友可以參考下
    2014-10-10
  • perl上下文介紹

    perl上下文介紹

    了解perl的朋友,都知道perl上下文在perl編程中的重要性,這里粗淺的作下介紹,供初學的朋友參考
    2013-02-02

最新評論