且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

perl学习笔记

更新时间:2022-09-15 17:06:35

1. 数组

perl学习笔记
#!/usr/bin/perl
my $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";
}
perl学习笔记

 

#!/usr/bin/perl
@ifs=qw(eth1 eth2.45 eth3);
it=grep/eth2it=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)        # 当字符串 utf8 flag 为on时,返回真,否则返为假 utf8::is_utf8(str) # 同上
Encode::_utf8_on(str)        # 手工设置 utf8 flag 为on Encode::_utf8_off(str)        # 手工设置 utf8 flag 为on Encode::_utf8_off(str) # 手工设置 utf8 flag 为off
PerlIO::get_layers(FP) # 得到语柄的 layers

3. my len=length(len=length(taginfo);

 

4.  if (catnamenecatnamenetagname)

http://www.cbi.pku.edu.cn/chinese/documents/perl/perl3.htm#四、逻辑操作符

perl学习笔记
my $a = 4;
if ($a == 4)
{
    print "a == 4\n";
}
if ($a != 3)
{
    print "a != 3\n";
}
perl学习笔记

5. open(GO,">>text.txt")用追加,不要用>,>会清空原来的文件,进行从写,>>是追加

perl学习笔记
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);
perl学习笔记

6. my @arrs = split(/\|/, $key);

 

字典 数组 长度

#取数组的长度可以用
$i = @arr;#$i即可获取到数组的长度
或者直接用scalar(@arr)获取数组的长度
$#typeArr可以返回typeArr数组的最后一个元素的下标,比scalar(@arr)少1

 scalar(keys %hash)




本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/4026582.html,如需转载请自行联系原作者