使用 perl 的 $^| 命令,这个命令的用法解释为:
1、$^|=“” -- 设置为空代表修改文件内容;
2、$^|=“other” -- 代表将修改后的文件保存为 filenameothermy $inputF = @ARGV[0];
my $inputS = @ARGV[1];
my $output = @ARGV[2];
open INPUTF , $inputF or die "cannot open the file:$inputS$!\n";
open INPUTS, $inputS or die "cannot open the file:$inputS$!\n";
open OUTPUT, ">$output" or die "cannot open the file:$inputS$!\n";
our @listN=();
our %listL=();
my @line;
while(<INPUTF>)
{
chomp;
next unless $_;
@listN = split /;/,$_; #将text1txt 用“;”分割,放入数组@listN中
foreach my $n(@listN) #每行的内容都放入另一个数组@line里面保存
{ #(直至最后全部存在@line中)
push (@line, $n);
}
}
#print "@line\n"; #调试
while(<INPUTS>)
{
chomp;
next unless $_;
my @map = split /\s+/,$_; #将text2txt 用空格分割放入数组@map中
$listL{$map[0]}=$map[1] unless exists $listL{$map[0]};#并将$map[0]作为key值存在哈希
}
foreach my $list(@line) #把text1txt中的全部拿出来找相关的mapping对象
{
if (exists $listL{$list}) #如果找到了 证明有mapping object
{
print OUTPUT "number: $list, mapping: $listL{$list}\n"; #输出到text3txt中(自命名)
}
}
#perl F:\perltest\mappingpl F:\perltest\text1txt F:\perltest\text2txt F:\perltest\text3txt间接文件句柄
使用 open 函数打开文件
die 函数
warn 函数
说明:
每次打开句柄后,都要记得关闭
测试文件的必要性
-r read 例如, -r 'file' : 可以读取'file'文件,则返回为真
-w write 例如, -w $a : $a 中包含的文件名是可以写入的文件,则返回为真
-e exist 例如, -e 'myfile' : 'myfile'文件存在,则返回为真
-z zero 例如, -z 'data' : 'data'文件存在,但是文件为空,则返回为真
-s size 例如, -s 'data' : 'data'文件存在,则返回'data'的大小(字符个数)
-f file 例如, -f 'noveltxt' :'noveltxt'是个普通文件(区别于二进制文件、可执行文件等),则为真
-d directory 例如, -d '/tmp' : '/tmp'是个目录,则为真
-T text 例如, -T 'unkonw' :'unkonw'为文本文件,则为真
-B bin 例如, -B 'unkonw' :'unkonw'为二进制文件,则为真
-M 例如, -M 'foo' : 返回'foo'文件被修改后经过的时间
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)