博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

沉默是金

Love exists,Hope is alive.Just waiting...
   xiaoquqi.cublog.cn
关于作者  
姓名:小曲奇
职业:软件工程师
年龄:25
位置:北京
Just waiting your comming...

我的分类  




按照行方式读取文件时的行号
今天逛CU的时候偶然得知:在用行方式读取文件的时候,有一特殊变量记录着当前行号,即:$.
实例如下:
test.txt
1
2
3
 
源代码:
#!/opt/dc_perl/bin/perl
open(rhd,"test.txt");
while (my $line = <rhd>){
       my $num = $.;
       print "Current->$num\n";
}
close rhd;
 
显示:
Current->1
Current->2
Current->3
 
以前真的没有发现该变量存在,写出来供大家参考吧。还请多多指教!

 发表于: 2006-05-24,修改于: 2006-05-24 13:40 已浏览1051次,有评论2条 推荐 投诉

  网友评论
  huhuegg 时间:2007-12-03 11:45:17 IP地址:210.13.74.★
为何用foreach 就不行呢?有什么道理?
open(rhd,"test.txt");
foreach (<rhd>) {
        my $num=$.;
        print "Current->$num\n";
}
close(rhd);

显示:
Current->3
Current->3
Current->3

  flw 时间:2008-03-10 01:36:30 IP地址:61.135.207.★
foreach 的 () 里是列表上下文,
while 的 () 里是标量上下文。

readline 操作符 <> 在标量上下文和列表上下文中的行为不同,
前者仅返回下一行,后者返回所有行。


  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.00821

京ICP证041476号