Perl 工作積累(不定期更新)

來源:互聯網
上載者:User

標籤:perl   sql   dbconnect   split   url   

1)url 判斷是否合法:   /^(http:\/\/|https:\/\/)?((?:[A-Za-z0-9]+-[A-Za-z0-9]+|[A-Za-z0-9]+)\.)+([A-Za-z0-9]+)[\/\?\:]?.*$/
2)什麼時候需要轉義:1. 比如在"" 裡面還要使用",則\";  2. 一些特殊字元
3)資料庫亂碼問題:在指令碼中查詢的表和插入的表都要設定同樣的編碼如utf8($db_url->do(set names utf8)), 在secureCRT顯示時設定UTF-8,查詢資料庫顯示前set names utf8;
4)打log問題:如果log檔案沒許可權寫入,那會將log資訊輸出在標準輸出。secureCRT sz/rz 也會遇到目錄許可權的問題
5)倒資料不要全量重新倒,可以設定時間起始點甚至表自增id,從檔案讀出寫入;當tmmp表為空白時,perl sql執行以下語句返回還是為真,需要再次判斷idmax的值是否為""mysql> select max(id) idmax from tmmp;                                                            +-------+| idmax |+-------+|  NULL |+-------+
6)perl 對類型還是要注意,如$url為字串,則如果判斷 $url == 0 很可能為真
7) perl 的print $log "xxx" ;  syswrite $log, "xxxx";     perl中的printf很多字元列印有問題,最好是使用syswrite來列印資料
8) > or >> 如果檔案不存在都會建立,只是truncate or append的區別
9)sql 執行出錯,頁面出現很多亂碼,包括log檔案會有顯示不了的字元,往往是因為插入的參數包含亂碼,導致某些引號提早並上而執行出錯,有種解決辦法是只取參數的有些長度欄位。
10)當log檔案太大時,往往vim開啟會顯示為new file, 可以tail/head -n num file | more 來查看部分內容
11)$db->quote($url) 這樣在插入sql時不用再對$url 加‘ ‘, 如果$url 內還有單引號會被轉義; sql 執行出錯很可能是引號提前閉合的問題
12) mysql> pager less  多頁顯示
13)  select substring_index(‘xxx.xxx.xx.22‘, ‘.‘, -1)  // 得到22
14) perl中的散列賦值都是引用拷貝而非值拷貝
15) perl列印shell指令碼的結果資訊之前需要先chomp結果,否則列印出來的資訊不對
16)  取出url的尾碼,如html, php等    if ($url =~ /^(http:\/\/ | https:\/\/).*\/.*\.([^\/\.\?]+)/)    {          my $suffix = $2;     }
17) 從url中取出網域名稱      my @tmp = split(/:/, $url); my @tmp2= split(/\//, $tmp[1]);  my $domain = $tmp2[2];


Perl 工作積累(不定期更新)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.