Time of Update: 2018-12-04
使用格式與常用方法(父類IO::Handle與IO::File的通用方法就不在下文中說明了):===========================================================================================================-----------------------------------------------------------------------------匯入IO::Socket包:use
Time of Update: 2018-12-05
Mac Os下Perl連結SQL相關模組的安裝(筆記) --基於DBI和DBD::Sybase前言: 本文是對< Perl串連SQL>的補充,主要講解在Mac OS下如果安裝Perl DBI,DBD相關模組. 本文是基於<各種平台下Perl模組的安裝方法(轉)>,< Connecting to SQL Server 2000 from
Time of Update: 2018-12-05
指令:# 說明:註解符號Remark宣告 範例:#本程式是一個示範註解說明 -------------------------------------------------------------------------指令:print 文法一:print Filehandle LIST
Time of Update: 2018-12-05
都是指令碼語言, 不用編譯, 直接寫了就執行的perl 是用來處理文本的 特別適合大量文本的解析shell 則適合系統管理, 比如自動完成一系列linux命令拿 perl 來說, 在 linux 下面建立一個文字檔 xx.pl, #!/usr/bin/perl print "hello!\n";儲存chmod 755 xx.pl./xx.plperl 的文法, 與 C 有點相似 但是, perl 的變數不像 C 的變數那麼嚴格 三種基礎資料型別 (Elementary Data Type)
Time of Update: 2018-12-05
Perl類(包)的繼承是通過@ISA數組來實現的。簡單來說,Perl把它看作目錄名的特殊數組,與@INC數組類似(@INC數組是包含引用路徑)。當Perl在當前類(包)中無法找到所需方法時,便會在該數組列出的類中尋找。是否是聽起來還是很抽象。。。。。。我放出個例子,供大家參考。一般我看的比較多的例子,@ISA都會和Exporter配合使用。Arithmetic.pmpackage Arithmetic;use strict;use Exporter;#use
Time of Update: 2018-12-05
Perl是我接觸的第一個動態指令碼語言,但其實上它的資曆已經可以作為其它語言的祖母了,1987年,Larry Wall發布了Perl。那已經是20年前的事情了。在電腦世界,20年的時間已經好像是2個世紀以前那麼久遠了。下面列了一些常見的動態指令碼語言的發布日期:語言發明人發布時間PerlLarry Wall1987pythonGuido van Rossum1989ruby松本行弘1993phpRasmus
Time of Update: 2018-12-05
Formatting Time~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~方法一:use POSIX qw(strftime);my $timeStr1 = strftime "%Y-%m-%d", localtime;my $timeStr2 = strftime "%Y-%m-%d", localtime(time-86400); (前一天)print "$timeStr
Time of Update: 2018-12-04
######################### 1001 ############################## use 5.010;while(<>){ my @num = split; say $num[0] + $num[1];}######################### 1048 ##############################my $n = 12;my $sum = 0;while ( $n -- ){ chomp(my
Time of Update: 2018-12-05
1. 題目2. 代碼與輸出 1 #-----------------------------------------------------------# 2 # Source: Learning Perl, chapter10,exercise-1 3 # Date: 2012-01-20 4 # Author: xiaodongrush 5 #-----------------------------------------------------------# 6 use 5.010;
Time of Update: 2018-12-08
由於業務需要,要查詢客戶的ip地址,將部分地區的客戶過濾出來,開始想到使用ip資料庫,發現讀取純真資料庫的難度對我來說有些大,而我目前的時間要求比較緊迫,通過在群裡詢問,感謝黑影子和扶凱的幫忙,推薦了IP::QQWry::Decoded這個模組,該模組是專門用來讀取qqwry純真資料庫的,用起來非常簡單。複製代碼 代碼如下:#!/usr/bin/perluse IP::QQWry::Decoded;use Encode;use utf8;binmode(STDIN,
Time of Update: 2018-12-08
圖:複製代碼 代碼如下:#!/usr/bin/perl## fdupe tool - finding duplicate files## $Id: fdupe,v 1.7 2011/10/14 20:11:21 root Exp root $## Source code Copyright (c) 1998,2011 Bernhard Schneider.# May be used only for non-commercial purposes with# appropriate
Time of Update: 2018-12-07
Perl Unicode轉換概括:1.判斷輸入源的編碼方式2.輸入源是utf8編碼 a. Encode::_utf8_on($str);開啟utf8 flag。 輸入源非utf8編碼 a. $string = decode(ENCODING,$octets [,CHECK]);將輸入源轉化成utf8編碼並開啟utf8 flag3.輸出 $str = Encode::encode(ENCODING, $str);把字串從utf8編碼轉成指定的編碼, 並關閉utf8 flag-----
Time of Update: 2018-12-08
如何用Perl指令碼作業系統環境變數呢?想必很多朋友馬上就會想到Perl中提供的$ENV這個特殊的雜湊變數,對,在$ENV中完全可以擷取到一些系統變數。怎麼擷取呢?比如想要知道Path這個系統內容變數的內容,我們可以通過$ENV{'Path'}
Time of Update: 2018-12-08
為何使用引用?在perl4中,hash表中的value欄位只能是scalar,而不能是list,這對於有些情況是很不方便的,比如有下面的資料:Chicago, USAFrankfurt, GermanyBerlin, GermanyWashington, USAHelsinki, FinlandNew York, USA我們想要按國家將城市分類,每個國家後面對應城市列表,如果用perl4來做,必須將城市列表組合成字串才行,如果用perl5就可以用引用來做,有了引用,就可以構造複雜的hash結構,
Time of Update: 2018-12-08
先來看下our的用法。require 5.006當版本號碼小於 5.006 的時候,會返回失敗,從而導致模組載入失敗。所以它的作用就是保證模組調用環境的 Perl 版本。our 和 my 一樣,都是對變數的聲明,不過 our 聲明的是包全域變數,而 my 聲明的是詞法變數。不過,經過 our 聲明的變數,它會變得像一個詞法變數一樣,其實這也是 our 存在的目的:用來欺騙 strict pragma,使 strict 以為它是一個詞法變數,其實卻不是。有一個簡單的辦法可以理解
Time of Update: 2018-12-08
$也能匹配\n見Perl語言入門,page 132, 注釋61 /^.*$/能匹配"\n"嗎?能!因為$不僅能匹配行尾,也能匹配\n2 /^.*$/能匹配"b\n"嗎?能!.能b匹配. \n匹配$3 /^.*$/能匹配"\nb"嗎?不能!為什嗎?因為預設情況下,.不能匹配\n,把模式改一下變成/^.*$/s就可以了,/s表示.能匹配任一字元,包括\n多行匹配/m看一個例子,這段代碼輸出:hello複製代碼 代碼如下:my $text = "hello, world,\nhello
Time of Update: 2018-12-07
符號表 每個包都有自己的一個符號表,它是一個雜湊表;關鍵字是包中的變數名、檔案控制代碼、目錄控制代碼以及子常式,值是typeglob每個符號都被賦予一個typeglob(即*x),它表示所有名為x的類型。 每個包都有自己的符號表。無論何時使用包聲明,都要切換到該包的符號表。從一個包中訪問另外一個包的變數,可通過“ 包名 + 雙冒號( :: ) + 變數名 " 的方式指定。由於 my
Time of Update: 2018-12-07
最近在寫一個比較長的Perl指令碼,用來自動化實現做task的流程與步驟。但是,其中有一些很容易出錯的步驟,比如說我的VPN沒有開、某某服務沒啟動等,就執行不了一些操作,從而導致指令碼運行出錯。這個時候,我只好先修複配置錯誤,然後重新從頭執行指令碼。這樣浪費了大量的時間,也弄得我很煩躁。工作原本就沒太多樂趣,而我,哪裡可能記得住這麼多瑣碎的事呢?今天寫了一個迴圈控制的東西,能在出錯的步驟停止下來,等我修改了出錯的步驟(系統內容而非代碼本身),又能從中止的地方重新開始。範例程式碼如下:use
Time of Update: 2018-12-07
怎麼使用Perl指令碼作業系統環境變數? 機靈的朋友立馬就會想到Perl中提供的$ENV這個特殊的雜湊變數,對,在$ENV中完全可以擷取到一些系統變數。怎麼擷取呢?比如想要知道Path這個系統內容變數的內容,我們可以通過$ENV{'Path'} 來擷取。如果想設定Path這個環境變數呢,哈,使用$ENV{'Path'}=‘C:\Windows\System32’來設定。想擷取所有的環境變數列表也很簡單,雜湊遍曆不就可以了~
Time of Update: 2018-12-07
參考連結 Perl 常用命令列選項 unix 常用命令 perl 實現 sed awk tr nl perl 和sed,awk,tr,grep,nl等常用命令替換sedtasksedperlReplace 12 with twelvesed 's/12/twelve/g'perl -pe 's/12/twelve/g'Replace the word sh with Bourne Shellsed -e 's/ sh / Bourne Shell /g'[1]perl -