如何将输出结果保存到文件中

时间:2014-01-17 06:44:21

标签: perl file-io

#!/usr/bin/perl -w
use strict;
use warnings;
use diagnostics;
use feature 'say';
my@array = qw(a b c d e f g h i j k l m n o p q  r s t u v w x y z);
my@array_a = @array[0..5];
my@array_b = @array[6..8];
my@array_c = @array[8..15];
my@array_d = @array[16..16];
my@array_e = @array[17..20];
my@array_f = @array[21..24];
my@array_g = @array[25..16];
print "first five string:",@array_a,"\n";
print @array_b,"\n";
print @array_c,"\n";
print @array_d,"\n";
print @array_e,"\n";
print @array_f,"\n";
print @array_g;

我有一个上面的Perl脚本,它在终端屏幕上打印脚本的结果。我没有将信息打印在屏幕上,而是将其保存到文本文件中。 我试着像我的

 $filename = "/home/Ram/Desktop/Perl_file.txt";
open(my@array_a = @array[0..5], '>', $filename) or die "Could not open
+ file '$filename' $!";
print @array_a ;
close @array_a;

但它显示错误,如

前五个字符串:abcdef ghi ijklmnop q rstu vwxy不能使用字符串(“6”)作为符号引用,而在array.pl第22行使用“strict refs”(#1)(F)只有硬引用允许“严格参考”。不允许使用符号引用。见perlref。用户代码中未捕获的异常:不能使用字符串(“6”)作为符号引用,而在array.pl第22行使用“strict refs”时,不能使用它。

为什么显示错误?请让我知道

1 个答案:

答案 0 :(得分:1)

这不是你打开文件句柄的方法:

open(my $fh,'>',$filename) or die "could not open $filename $!";
print $fh @array_a;
print $fh @array_b;
print $fh .......