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

my %organisms = ();

while(<DATA>){
chomp;
if(/^(\S+)\s+(\S+)$/){
my $u=lc($);
my $v=lc($);
$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 这个句柄,就可以读取到这些内容;

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

最新文章

  1. 提额 APP
  2. 关于angularjs中的ng-class 变量问题
  3. 【Python】 最简单的web服务
  4. [LeetCode]题解(python):105-Construct Binary Tree from Preorder and Inorder Traversal
  5. phpQuery 无法解析 html 结构
  6. [补档][Lydsy2017年4月月赛]抵制克苏恩
  7. Java NIO vs IO
  8. Nslookup命令小结
  9. Dockerfile技巧
  10. oracle sqlplus 回退键以及上下键
  11. [转帖] infiniband的协议速度
  12. 图片 base64转byte[]
  13. pyinstaller基本操作
  14. [Asp.net MVC]Asp.net MVC5系列——布局视图
  15. @RestController使用 接收jso参数 将参数转换为对象
  16. mybatis入门(一):jdbc的缺点
  17. Python 一条语句如何在多行显示的问题
  18. sqlserver索引的原理及索引建立的注意事项小结
  19. Service Name Port Number Transport Protocol tcp udp 端口号16bit
  20. 利用perlin noise 生成 wood texture

热门文章

  1. HDU.4352.XHXJ&#39;s LIS(数位DP 状压 LIS)
  2. POJ.1704.Georgia and Bob(博弈论 Nim)
  3. python面向对象编程练习
  4. 我的 Sublime Text 2 笔记
  5. Linux学习笔记15—RPM包的安装OR源码包的安装
  6. google ctemplate——c++模板引擎
  7. reveal查看任意APP
  8. Android典型界面设计(8) ——ViewPager+PagerSlidingTabStrip实现双导航
  9. 五花八门的Shell 的相关概念和配置方法
  10. .NET 并行编程&mdash;&mdash;数据并行