Time of Update: 2017-02-27
總結一下Perl中列表和數組操作的一些用法假設定義一個陣列變數@arr, 將列表(str_a, str_b, str_c, str_d)賦值給數組@arr@arr = (str_a, str_b, str_c, str_d);將數組@arr的元素個數賦值給$var$var = @arr;列印這個數組@arr,並且數組中的元素以空格分隔開print "@arr\n";列印數組@arr的第一個和第三個元素和最後一個元素,預設索引從0開始,索引-1表示最後一個元素print
Time of Update: 2017-01-18
工作中的線上環境有很多的perl命令列的類似一句話的命令,今天總結下perl的命令列編程的一些東西。-e 後面緊跟著引號裡面的字串是要執行的命令:複製代碼 代碼如下:king@king:~$ perl -e ‘print “hello world \n”‘hello world如果是多個命令就可以使用多個-e,這裡是不是想到了sed呢?但是要注意的是中間的哪個“;”.複製代碼 代碼如下:king@king:~$ perl -e ‘print “hello world \n” ;' -e
Time of Update: 2017-01-18
注意:串連時候使用SID指定的database,所以沒有在串連中指定database.#!/usr/bin/perluse strict;use warnings;use DBI;my $db_name="geneva_admin";my $db_passwd="geneva_admin";my $dbh=DBI->connect("dbi:Oracle:","$db_name","$db_passwd") or die "Can't connect to oracle database:
Time of Update: 2017-01-18
ssh limit perl指令碼主要作用:1.限制一個ssh使用者的最大登入數為n,n可自訂。2.支援白名單,如root、test登入不受限制。如果一個ssh使用者的最大登入數超過指定數字,則後登入的會把先前登入的踢掉,以此達到控制登入數的目的。該指令碼需要主機支援perl,如果沒有,可yum安裝。指令碼源碼:#!/usr/bin/perl -wuse strict;#white listmy @ALLOW_USERS = qw{ test root lulu1};#the
Time of Update: 2017-01-18
1.從基礎開始 不像java,Perl不需要“main”方法作為進入點。要運行一個簡單的Perl程式如下: 複製代碼 代碼如下:# comment starts with "#" # the name is hello.pl print "Hello Perl!";只需執行:perl hello.pl2. 日期類型 在Perl中的日期類型是非常簡單,它有3種類型:標量,數組和Hash。 標是一個單值,它基本上可以是任何其他比數組或雜湊。 數組是一個數組,可以包含不同類型的元素,如整數,字串。
Time of Update: 2017-01-18
感謝AKA及作者。 Perl 中的RegexRegex的三種形式 Regex中的常用模式 Regex的 8 大原則 Regex是 Perl 語言的一大特色,也是 Perl 程式中的一點痛點,不過如果大家能夠很好的掌握他,就可以輕易地用Regex來完成字串處理的任務,當然在 CGI 程式設計中就更能得心應手了。下面我們列出一些Regex書寫時的一些基本文法規則。9.1 Regex的三種形式首先我們應該知道 Perl
Time of Update: 2017-01-18
perl中our的用法require 5.006當版本號碼小於 5.006 的時候,會返回失敗,從而導致模組載入失敗。所以它的作用就是保證模組調用環境的 Perl 版本。our 和 my 一樣,都是對變數的聲明,不過 our 聲明的是包全域變數,而 my 聲明的是詞法變數。不過,經過 our 聲明的變數,它會變得像一個詞法變數一樣,其實這也是 our 存在的目的:用來欺騙 strict pragma,使 strict 以為它是一個詞法變數,其實卻不是。有一個簡單的辦法可以理解
Time of Update: 2017-01-18
方法一(不使用模組,by agonyr)複製代碼 代碼如下:#!/usr/bin/perl -wuse strict;my @seq = ( "A", "T", "C", "G" );my $length = 10000;undef my %hash;$hash{"A"} = int( $length * 0.3 );$hash{"C"} = int( $length * 0.3 );$hash{"G"} = int( $length * 0.2 );$hash{"T"} = int(
Time of Update: 2017-01-18
下面是一個例子:複製代碼 代碼如下:use strict;#這裡是兩個數組my @i =('1','2','3');my @j =('a','b','c');#在進行處理之前,我們把他們先列印出來,看一看他們的樣子print "In main program before calling subroutine:i="."@i\n";print "In main program before calling
Time of Update: 2017-01-18
之前總不重視自己的部落格,上回一丟才心疼,現在重視起來,決定定期備份sql。寫個小指令碼如下:複製代碼 代碼如下:#!/usr/bin/perluse warnings;use strict;use MySQL::Backup;use Mail::Sender;open my $tmp_sql, '>', "backup.sql";my $mb = new MySQL::Backup('dbname', 'localhost', 'dbuser', 'dbpasswd',
Time of Update: 2017-01-18
Perl 社區並不是所有的東西都發布在 CPAN 上。甚至專門有一個 Module::ThirdParty 模組記錄這些非 CPAN 的 perl 項目列表。其中最有名的應該就屬寫部落格的 Movable Type 和做監控的 SmokePing 了。但是如果個人圖方便又想把 smokeping 打包方便部署使用的時候,就會發現一點小問題:打包成rpm,很多 perl 的相依模組不一定在系統 repo 裡存在;打包成 perl 的模組,smokeping 最常用的幾個 probe 比如
Time of Update: 2017-01-18
一開始打算用perldoc看Apache2::Request模組,結果在運行時出現如下錯誤:複製代碼 代碼如下:Error in tempfile() using /tmp/XXXXXXXXXX:parent directory (./) isnot writable at /usr/lib/perl5/5.8.8/Pod/Perldoc.pm line
Time of Update: 2017-01-18
一、進程處理函數1、進程啟動函數函數名 eval 調用文法 eval(string) 解說 將string看作Perl語句執行。正確執行後,系統變數$@為空白串,如果有錯誤,$@中為錯誤資訊。 例子 $print = "print (\"hello,world\\n\");";eval ($print); 結果輸出 hello, world 函數名 system 調用文法 system(list) 解說
Time of Update: 2017-01-18
本文和大家重點討論一下Perl雜湊表的概念,Perl語言和其他程式設計語言各有各的特點,這裡和大家分享一下Perl雜湊表的概念,其實Perl雜湊表是一種結構。Perl雜湊表Perl雜湊表是一種結構。key/value.訪問Perl雜湊表元素$Perl雜湊表{$some_key}當給Perl雜湊表選擇名字時,最好這樣思考:Perl雜湊表元素的名字和key之間可以用for來串連。如thefamily_nameforfredisflintstone.要引用整個Perl雜湊表,使用百分比符號(%)作為首
Time of Update: 2017-01-18
即使開啟了strict和warnings選項也無妨,下面代碼並無錯誤和警告。複製代碼 代碼如下:#!/usr/bin/perluse strict;use warnings;sub test { $a = 1; $b = 2; print $a, "\n"; print $b,
Time of Update: 2017-01-18
使用串口通訊,在備機端使用如下指令碼檢測來自主機的心跳訊號,一旦未接受次數超過指定記數,備機認為主機DOWN機,自動化佈建為主機的網路參數,頂替主機提供服務。# ! perl -w use strict; use Win32 :: SerialPort; my $port = ' COM2 ' ; # serail port name registried in OS my $count = 0 ; # count number of heartbeat-receiving
Time of Update: 2017-01-18
cpanm是安裝Perl模組的最方便的方法。自動下載安裝依賴包。使用CPAN shell或下載源碼包安裝模組,遇到大量依賴關係,非常頭痛。下面就是一例:安裝MongoDB模組複製代碼 代碼如下:# perl Makefile.PL Warning: prerequisite Class::Method::Modifiers 0 not found.Warning: prerequisite Data::Types 0 not found.Warning: prerequisite
Time of Update: 2017-01-18
$也能匹配\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: 2017-01-18
例如:複製代碼 代碼如下:unless ($fred =~ /^([A-Z_]\w*$/i) { print "The value of \$fred doesn't look like a Perl identifier name. \n";}使用unless意味著,要麼條件為真,要麼執行某塊代碼。這就好像使用if控制結構來判斷相反的條件。另一種說法是它類似於獨立的else子句。也就是說,當看不懂某個unless語句時,可以用如下的if語句來代替:複製代碼 代碼如下:if
Time of Update: 2017-01-18
有這樣一個文字檔,內容有多行如下,數量不定。Lif(__amscript_cd("www.jb51.net")){__amscript_wc('#closead {display:none;}');};Lif(__amscript_cd("www.jb51.net")){__amscript_wc('#footer_win {display:none;}');};Lif(__amscript_cd("www.jb51.net")){__amscript_wc('.mainad {display: