perl _DATA_ 文件句柄

常用的perl 读写文件的操作,我们都很熟悉了,需要先声明1个文件句柄。但是看下面这段代码:

my %organisms = ();

while(<DATA>){
    chomp;
    if(/^(\S+)\s+(\S+)$/){
        my $u=lc($1);
        my $v=lc($2);
        $u =~ s/ //g;
        $v =~ s/ //g;
        $organisms{$u}=$v;
    }
}

__DATA__
hsa                 Human
ptr                 Chimp
na                  Orangutan
na                  Rhesus
na                  Marmoset
mmu                 Mouse
rno                 Rat

while 循环中读取的文件句柄,并没有对应一个实际的文件,

这其实是一种用法,在最下方声明了句柄__DATA__, 在句柄下方是每一行的文件内容,

然后通过DATA 这个句柄,就可以读取到这些内容;

这种用法可以当做数据库来用,当字段较少时,我们直接给哈希赋值就可以了;但是当内容很多时,就可以像上述写法一样;

 

posted on 2017-12-27 13:03  庐州月光  阅读(742)  评论(0编辑  收藏  举报