2011-05-11 95 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被傳遞到哈希,而不是哈希本身的參考。

數據::自卸車模塊有一些設置來控制輸出,你可以在它的CPAN page瞭解。

+0

你必須給出一個hashref作爲參數傳遞給翻斗車。 'Dumper \%folder_structure' – Toto 2011-05-11 07:59:46

+1

如果您使用散列引用,您肯定會從Data :: Dumper中獲得更多可理解的輸出。但是我認爲你是在誇誇其談,說你必須「使用」一個。 – 2011-05-11 08:21:04

+2

@davorg:你說得對,我應該說:'你應該給...'。英語不是我的母語。 – Toto 2011-05-11 08:33:00

0

從CPAN的Storable.pm模塊的設計,讓你「凍結」和「解凍」複雜的數據結構,將它們保存到一個文件中,以後檢索它們。