重定向输入输出

-- Start

在 Linux 中,我们通过大于号(>) 和小于号(<) 来重定向输入和输出到一个文件中。在 Perl 中,我们也可以很容易的从一个文件中读取数据或将数据写入一个文件中。

#!/usr/bin/perl
use strict;

my $file1 = "c:/a.txt";
my $file2 = "c:/b.txt";


# 打开文件
open IN, "< $file1" || die "$!"; # 以只读方式打开 $file1
open OUT, "> $file2" || die "$!"; # 以写入方式打开 $file2,存在则先清空文件,不存在则创建


# 处理数据方式一:一次读取文件中所有的数据到内存中
my @data = <IN>; # 读取 $file1 中的所有数据并保存到数组中
print OUT @data; # 将数据写到 $file2 文件中


# 处理数据方式二:逐行读取
while(my $line = <IN>) {
	print OUT $line; # 将数据写到 $file2 文件中
}


# 关闭文件
close IN;
close OUT;

  • 上面例子中的 IN 和 OUT 被称为文件句柄,用来表示打开的文件,可以是任何名字,通常用大写字母来表示。
  • die 函数用来输出错误消息并终止程序。
  • 内部变量 $! 保存错误信息。
  • >> 用来向文件中追加内容,如:open OUT, ">> $file2"

-- 更多参见:Perl 精萃

-- 声 明:转载请注明出处
-- Last Updated on 2012-06-28
-- Written by ShangBo on 2012-06-28
-- End



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值