其他
Perl学习16之读文件,存入哈希,输出到文件
"pythonic生物人"的第27篇分享
摘要
本文介绍perl如何读取文件,存入哈希,调用哈希,存入文件。
正文开始啦
#! /usr/bin/perl
use strict;
use warnings;
if(@ARGV!=2){
print "\tUsage: perl $0 <infile>\n";
die "\tUse with correct infile";
}
##读入文件$ARGV[0]存入哈希
#open IN, "<$ARGV[0]";
#open IN, "<","$ARGV[0]";
open IN,"$ARGV[0]" or die;#三种方式均可以打开句柄
my %para;#定义一个哈希
while(<IN>){
chomp;#chomp去掉末尾换行符
if(/^#/){next;};#跳过以#开头的行
if(/^$/){next;};#跳过空行
my ($k,$v)=split (/\=/,$_);#使用"="分割每行,每读取完一行后perl默认存储在$_里
$para{$k}=$v;#存入hash
}
close IN;#关闭句柄
my @key=keys %para;#keys函数取出哈希所有的键
my @value=values %para;#values函数取出哈希所有的值
##输出内容到$ARGV[1]
foreach my $key (@key){
open OUT,">>","$ARGV[1]" or die;#打开输出文件句柄,">>"追加输出
print OUT "$key\t$para{$key}\n";#输出值
close OUT;#关闭句柄
}
输入文件test.para为:
输出文件open1为:
点击专辑查看