发布网友 发布时间:2024-10-02 07:22
共0个回答
简单的来说,可以。更深入的说呢,也是可以的。一边读取文件,一边将读取到的内容另存为一个新文件。我自己做过的主要经验是使用来处理Firmware code之类的二进制文件。至于文本文件,更加容易了。可以仔细查查一下功能函数的帮助:read, open, write.基本上看输入输出的功能函数就可以了。
perl提取特定文本内容读到每一行后,对该行进行操作,使用split函数进行拆分。对于不行的文件格式,有不同的拆分方法,你应该看一行列的拆分方式,比如是用的逗号分隔,还是制表符分隔。拆分方法如下:cols = split(/[,\t]/, $line) # 对$line进行拆分,拆分依据是逗号或制表符然后得到的@cols数组就是每一列了,...
我有个100行的文件 想按行分成100个文件 用的是PERL!perl -w use strict;AUTHOR: niejieqiang open my $fh, "<", "T.txt";my $num=1;while (<$fh>) { open my $fh2, ">", $num.".txt";print $fh2 $_;num++;close $fh2;} close $fh;
用perl语言,把一个文件中的部分内容由另一个文件替换这类程序的一般套路:先打开文件1,获得需要的内容到变量里面,关闭文件1,再打开文件2,获取内容到内存变量中,进行替换,关闭文件2后重新以写方式打开,然后把内存变量写入文件2。
如果用perl多次复制一个文件内容并进行修改呢这个实现起来不麻烦,但是也要分情况看。如果a.txt 是一个小文件,可以直接读入内存的那种,那么你可以直接把a.txt先存入一个数组m,然后随便你操作多少次都可以,只要你不修改m或者清空数组m,你随时可以遍历它。如果a.txt 是一个大文件,不能暴力的直接读入,那么就要考虑用分段读取a.txt进入数组,...
怎样用perl打开其他盘文件都可以,建议用"/"而不是"\"。perl中的"\"有特殊含义,用起来不如"/"方便。举例说明打开E盘下的myfile.txt。1. open FILEHANDLE,"E:/myfile.txt" 。2. open FILEHANDLE,"E:\\myfile.txt" 。
perl怎么从一个序列中截取不同位置的字符串,并保存成txt格式open F,"1.txt"; #画面上文件open O,">2.txt"; #保存到2.txt@array=<F>;$count=0;foreach (@array){s/\s+//g;if(/[A-Z]+/){@new=split(undef,$_);}foreach (@new){ $count++; if($count>=10 and $count<=20){ push @new1, $_;} #把10和20分别改成你要的...
Perl文件处理模块下面是一些常用的Perl文件处理模块:1. IO::File:提供一个易于使用的类库,用于文件输入输出操作,具有更好的错误检测和程序接口。使用此模块,可轻松控制文件句柄,避免不必要的内存占用等问题。2. File::Spec:统一不同平台下的文件路径表示,提供适用于Unix、MSWin32和VMS等系统的方法。此模块允许在...
Perl 怎么将txt文件赋值给哈希可以用文件的md5用作区分文件,文件内容的md5值作为keyuse Digest::MD5 qw(md5_hex);@files = <*.log>;my %file_hash;for $f(@files) {$md5 = md5_hex(content($f));$file_hash{$md5} = 1;}sub content {my $f = shift;my $H;open ($H, $f);my $str;do {local $/=...
怎样用perl把一个文件里同一类数据输出到同一列,不同类的数据中间用\t...my @t =([],[],[]);while (<DATA>) {chomp;if (/^>/) {push @{$t[0]}, $_;}elsif (/^#/) {push @{$t[1]}, $_;}else {push @{$t[2]}, $_;}}my @m = sort(map{$#{$_}} @t);for my $i(0..$m[$#m]) {foreach my $e(@t) {if ($i <=...