免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: joefun
打印 上一主题 下一主题

perl从文件取行号? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-10-01 14:12 |只看该作者

perl从文件取行号?

[quote]原帖由 "笨狗"]不知道你从哪里得到的这种结论 [/quote 发表:


晕,是我自己实验错误!!!   

论坛徽章:
0
12 [报告]
发表于 2005-10-01 17:08 |只看该作者

perl从文件取行号?

原帖由 "joefun" 发表:
perl操作文件时,能不能直接删文件中的空行后在被操作的文件中生效,
而不用写入另外一个文件?


文件不大的话,把文件内容读到数组里,关闭句柄,去掉空行,再重新写入这个文件即可。文件很大的话,这样做就不行了,用cpan模块看看。

论坛徽章:
0
13 [报告]
发表于 2005-10-01 18:11 |只看该作者

perl从文件取行号?

原帖由 "joefun" 发表:
perl操作文件时,能不能直接删文件中的空行后在被操作的文件中生效,
而不用写入另外一个文件?

可以试试tie:File,文件读入array以后修改array久等于修改文件

论坛徽章:
0
14 [报告]
发表于 2005-10-02 00:07 |只看该作者

perl从文件取行号?

多谢二位,
我再查查资料,试试吧!

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
15 [报告]
发表于 2005-10-02 01:07 |只看该作者

perl从文件取行号?

原帖由 "joefun" 发表:
awk与sed当然容易实现,不过现在windows平台下想用perl实现
因为装cygwin很麻烦(网络不好,^_^)


ActivePerl不是可以直接安装在瘟到死下面么?
难道还要死歪鸡瘟么?

论坛徽章:
0
16 [报告]
发表于 2005-10-02 02:57 |只看该作者

perl从文件取行号?

没有用cygwin,正在学习使用activestat的ppm添加模块

论坛徽章:
0
17 [报告]
发表于 2005-10-02 03:14 |只看该作者

perl从文件取行号?

我看安装Tie-File包后生成的Tie/File.html文档时很是迷茫,看得我一头雾水。

"狗狗”兄能否稍微具体点说说Tie::File的使用,来个snippet阐述一下,
感谢之至!   

论坛徽章:
0
18 [报告]
发表于 2005-10-02 05:29 |只看该作者

perl从文件取行号?


  1. use strict;
  2. use warnings;
  3. use Fcntl;


  4. use FindBin;
  5. use lib "$FindBin::Bin";
  6. use Tie::File;

  7. my $filename = "test.txt";
  8. my @logs;
  9. tie @logs, 'Tie::File', $filename, mode =>; O_RDONLY
  10.    or die "Cannot open $filename: $!\n" ;
  11.    
  12. for (@logs) {
  13.   print "$_\n";
  14. }

  15. untie @logs;
复制代码

@logs的每一行相对应文件的每一行,例如把$logs[0]改为xxx,文件的首行就会被改为xxx
我不知道删掉@logs中的一个元素是否文件的一行也会被删掉,尼可以试试,删array的元素用splice
tie::File读文件的速度偏慢,因为tie::File默认使用的缓存很小,可以根据自己的需要和内存的大小设置缓存大小,具体见官方文档

论坛徽章:
0
19 [报告]
发表于 2005-10-05 02:42 |只看该作者

perl从文件取行号?

多谢,“狗狗”兄的代码!
看来得认认真真的接着看书了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP