导航:首页 > 文件目录 > perl读入文件内容

perl读入文件内容

发布时间:2024-02-01 22:59:34

❶ perl 读取文件夹下所有txt,并处理数据

还是昨天的那个程序,假设你的文件分为 1.txt 2.txt 3.txt,这个时候不要包含文件头,即所有的文件都是内容


程序修改为:

#$head=<>;

while(<>)
{
@line=split(/,/,$_);
$lwfs=$line[7];
$user=join('|',$line[1],$line[2],$line[3],$line[4],$line[6],$line[7]);
$info{$lwfs}{'times'}+=1;
$info{$lwfs}{'users'}{$user}+=1;
}

print"lwsf,user,times ";
foreachmy$key(keys%info)
{
$times=$info{$key}{'times'};
@users=keys$info{$key}{'users'};
$usercount=$#users+1;
print"$key,$usercount,$times ";
}

注意:读取文件头到$head变量的那句已经注释掉了。


此时运行方法为: perl my.pl 1.txt 2.txt 3.txt 就可以了


perl自己会把所有文件内容都读进来处理的

❷ perl脚本读文件最优方法请教

你的代码一下子把所有行都读到@Contant里了,自然耗内存。

这种情况要用while循环一行一行地读,参见下面的改法。

my ($filename) = "text.unl";

unless (open (RDH,$filename))
{
print "File open failed.";
}

while (my $line = <RDH>) {
push @a, $line if /aaa/;
push @b, $line if /bbb/;
push @c, $line if /ccc/;
}
close RDH or die "Cannot close $filename:$!";

❸ perl如何读入一个.txt文本中的内容,将文本里的内容放到一个数组里

很简单的,例子代码如下:

open(FD,"1.txt");
@lines=<FD>;
close(FD);

上面的代码之后,就可以使用@lines数组了,比如显示第三行的语句:

print $lines[2];

❹ perl如何遍历指定文件夹下的指定扩展名文件并读取内容

不知道你这里读取具体指什么,我就把文件名打印出来,把文件内容打印出来吧。(程序指定两个参数,第一个参数是指定的文件夹名,每二个参数是指定的扩展名。)
#!/usr/bin/perl
use strict;
use warnings;
die "Usage: $0 <dir> <extion>\n" unless @ARGV == 2;
my $Dir = $ARGV[0] ;
my $Ext = $ARGV[1] ;
opendir(DH, "$Dir") or die "Can't open: $!\n" ;
#读取指定文件夹下面的指定扩展名的文件名,保存到数组里。
my @list = grep {/$Ext$/ && -f "$Dir/$_" } readdir(DH) ;
closedir(DH) ;
chdir($Dir) or die "Can't cd dir: $!\n" ;
foreach my $file (@list){
open(FH, "$file") or die "Can't open: $!\n" ;
print "$file:\n" ;
while(<FH>){
print ;
}
print "\n";
close(FH) ;
}

❺ perl读取文件,然后替换内容,再生成新的文件。然后打包。(有分)

这个问题问的有点儿含糊,不过提供一个可能的方法供您参考。
使用 perl 的 $^| 命令,这个命令的用法解释为:
1、$^|=“” -- 设置为空代表修改文件内容;
2、$^|=“.other” -- 代表将修改后的文件保存为 filename.other

❻ 如何用perl读取txt文件中的数据

#!/usr/bin/perl
$textname="/存放路径/文件名.txt"; #例如$textname="E:/lqf.txt";
open(FILE1,$textname);#打开文件
@line=<FILE1>;#将文件的每一行读取到数组@line中,文件的每一行作为一个数组元素
close FILE1;
#保存这个文件的内容,只要对@line数组进行操作就可以了

❼ 如何用perl读取一个文件夹下的大量首列相同的txt文件,要进行列合并。

opendirD,"1"ordie$!;#把所有txt文件都放到一个叫1的文件夹中
@array=grep(/.txt/,readdirD);
foreach$list(@array){
openF,"1/$list"ordie$!;
@load=<F>;
foreach(@load){($s1,$s2)=split/s+/,$_;push@new,$s2;}
}
foreach(@new){print"$_ ";}

阅读全文

与perl读入文件内容相关的资料

热点内容
ug找不到指定的许可文件 浏览:850
数控编程g01表示什么 浏览:700
java实用类 浏览:190
去年做哪个网站能致富 浏览:727
多少的cad版本能打开pdf格式文件 浏览:540
win10文件比率是什么 浏览:652
msdb数据库置疑 浏览:210
移动花卡免流app为什么要10元 浏览:147
xamppphp配置文件 浏览:268
删除ghost文件 浏览:642
苹果7可置换地方 浏览:763
win10腾讯文件夹在哪里 浏览:262
在网站前面加什么可以看会员视频 浏览:908
哪个读书app支持格式最全 浏览:322
魅族mx3提示网络可能会受到监控 浏览:308
如何判断复制文件是否完整 浏览:803
qq接收的语音文件在 浏览:408
手机qq禁止查看动态 浏览:923
如何用编程求解二重积分 浏览:366
在桌面上搜索不到文件夹 浏览:723

友情链接