perl 文本操作的问题

Jaccio 2016-03-11 12:02:29
想读取当前文件夹中.log文件的内容
先获取log文件
我的当前路径下只有一个xxxx_123456.log(文件名中间有下划线)

@file = grep/\.log/, readdir DIRHANDLE;

使用foreach $Log(@file)或者 $Log = @{$file}[0];都不是文件的全名


求支招~~~~~~
...全文
200 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2016-03-14
  • 打赏
  • 举报
回复
在我这儿没问题, 应该是其他地方有错.

opendir(my $dh, "/tmp/test");
@file = grep/\.log/, readdir $dh;
foreach $Log(@file) {
    print "$Log"
}
wind% perl /tmp/x.pl
xxx_123.log%   
Jaccio 2016-03-14
  • 打赏
  • 举报
回复
引用 3 楼 fibbery 的回复:
你把前面的路径自己加上就完了呀!你打开dir的时候不是已经有前缀了嘛。
我说的关键就在于显示的不是xxxx_123456.log 而是下划线前面的部分xxxx 主要意图是文件全名xxxx_123456.log得不到~
Jaccio 2016-03-14
  • 打赏
  • 举报
回复
引用 2 楼 panghuhu250 的回复:
"@file"的内容对吗? 加上{}?

@file = grep { /\.log/ }, readdir DIRHANDLE;
print “@file” 显示的是xxxx_123456.log foreach $Log(@file) print $Log 显示的是xxxx 我说的关键就在于显示的不是xxxx_123456.log 而是下划线前面的部分xxxx
panghuhu250 2016-03-12
  • 打赏
  • 举报
回复
"@file"的内容对吗? 加上{}?

@file = grep { /\.log/ }, readdir DIRHANDLE;
fibbery 2016-03-12
  • 打赏
  • 举报
回复
你把前面的路径自己加上就完了呀!你打开dir的时候不是已经有前缀了嘛。
Jaccio 2016-03-11
  • 打赏
  • 举报
回复
up~ up~

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧