2011-05-11 6 views
-1

배열의 해시를 파일로 덤프하는 방법은 무엇입니까?파일의 배열 해시 덤핑

각 해시 키는 폴더의 이름이고 배열은 폴더에 나열된 모든 파일입니다. 여기

난 당신이 출력 형식에 대한 특정 요구 사항이없는 경우

open OUTFILE, "> output.txt" or die $!; 

    foreach my $key (keys %folder_structure) { 

    print OUTFILE "$key\n"; 

    foreach my $line (@{$folder_structure{$key}}) { 

     print OUTFILE "$line\n"; 

     } 

    } 

    close OUTFILE; 

답변

7

는, 가장 간단한 방법은 사용하는 데이터 :: 덤퍼이다, 일하고 무엇 :

use strict; 
use Data::Dumper; 

open OUTFILE, "> output.txt" or die $1; 
print OUTFILE Dumper \%folder_structure; 
close OUTFILE; 

편집 : 의견에 따라 Dumper은 해시 자체가 아니라 해시에 대한 참조로 전달됩니다.

Data :: Dumper 모듈에는 출력을 제어 할 수있는 몇 가지 설정이 있으며 그 내용은 CPAN page에서 읽을 수 있습니다.

+0

Dumper의 인수로 hashref를 제공해야합니다. 'Dumper \ % folder_structure' – Toto

+1

해시 참조를 사용하면 Data :: Dumper에서 더 잘 이해할 수 있습니다. 그러나 당신은 당신이 "반드시"반드시 사용해야한다고 말하는 것을 과장하는 것 같습니다. –

+2

@davorg : 네가 맞아, 나는 말해야 했어. '네가 줘야 해.'. 영어가 제 모국어가 아닙니다. – Toto

0

CPAN의 Storable.pm 모듈은 복잡한 데이터 구조를 '동결'및 '녹여'파일에 저장하고 나중에 검색 할 수 있도록 설계되었습니다.