2014-01-17 2 views
-2
#!/usr/bin/perl -w 
use strict; 
use warnings; 
use diagnostics; 
use feature 'say'; 
[email protected] = 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); 
[email protected]_a = @array[0..5]; 
[email protected]_b = @array[6..8]; 
[email protected]_c = @array[8..15]; 
[email protected]_d = @array[16..16]; 
[email protected]_e = @array[17..20]; 
[email protected]_f = @array[21..24]; 
[email protected]_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 스크립트를 가지고 있는데, 터미널 화면에 스크립트의 결과를 출력한다. 정보를 화면에 인쇄하는 대신 텍스트 파일에 저장해야합니다. ABCDEF GHI ijklmnop Q rstu vwxy이 상징 심판으로 문자열 ("6")을 사용할 수 없습니다 동안 "엄격한 심판" 난 내출력 결과를 파일에 저장하는 방법

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

같은 시도하지만

처음 다섯 문자열과 같은 오류를 보여주는 array.pl line 22 (# 1) (F) "strict refs"에서는 하드 참조 만 허용됩니다. 기호 참조는 허용되지 않습니다. perlref를 참조하십시오. 사용자 코드에서 캐치되지 않는 예외 : array ref.ar 22에서 "strict refs"가 사용되는 동안 문자열 ("6")을 기호 ref로 사용할 수 없습니다.

왜 오류가 표시됩니까? 회원님이 파일 핸들의 시도를 열고 어떻게 나를

+2

[perldoc을 개방 (http://perldoc.perl.org/functions/open.html) => '개방 (내 $ fh, ">", "output.txt") 또는 die $ !;' –

답변

1

그게 전부를 알려 주시기 바랍니다 :

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