標籤:
1. 數組
#!/usr/bin/perlmy $str = "hello,nihao,no,o,good";my @arr = split(/,/, $str);print "len:" . @arr . "\n";for (my $i=0; $i < @arr; $i++){ #括弧必須有 print @arr[$i] . "\n";}
#!/usr/bin/perl
@ifs=qw(eth1 eth2.45 eth3);
$it=grep /eth2$/, @ifs;
if($it==0){
print "NO\n";
}
else{
print "YES\n";
}
2. 編碼
參考:http://bbs.chinaunix.net/thread-1751048-1-1.html
Perl 的 utf8 與編碼處理
本文基於筆者查閱的 perldoc 和實驗結果。鑒於經常有人被編碼問題困擾,現筆者把所瞭解的關於 Perl utf8 與編碼處理的資料總結一下。由於所知有限,可能會有講錯的地方,如有需要,可自行查閱:
perldoc Encode
perldoc PerlIO
perldoc utf8
perldoc encoding
下面用到這幾個函數,能提供有用的協助:
Encode::is_utf8($str) # 當字串 utf8 flag 為on時,返回真,否則返為假
utf8::is_utf8($str) # 同上
Encode::_utf8_on($str) # 手工設定 utf8 flag 為on
Encode::_utf8_off($str) # 手工設定 utf8 flag 為off
PerlIO::get_layers(FP) # 得到語柄的 layers
3. my $len = length($taginfo);
4. if ($catname ne $tagname)
http://www.cbi.pku.edu.cn/chinese/documents/perl/perl3.htm#四、邏輯操作符
my $a = 4;if ($a == 4){ print "a == 4\n";}if ($a != 3){ print "a != 3\n";}
5. open(GO,">>text.txt")用追加,不要用>,>會清空原來的檔案,進行從寫,>>是追加
open(MYFILE, ">info");foreach my $key (keys %newinfo){ my $value = $newinfo{$key}; #index my $tagids = ""; if(exists($newinfo_tagid{$key})) { $tagids = $newinfo_tagid{$key}; } print MYFILE $value . "_" . $cat . "\t$key\t$addtag , $tagids\n";}close(MYFILE);
6. my @arrs = split(/\|/, $key);
字典 數組 長度
#取數組的長度可以用$i = @arr;#$i即可擷取到數組的長度或者直接用scalar(@arr)擷取數組的長度$#typeArr可以返回typeArr數組的最後一個元素的下標,比scalar(@arr)少1
scalar(keys %hash)
perl學習筆記