#!/usr/bin/perl -w # DB_File 與 GDBM_File 的範例 use strict; my (%dict, $key); # 選一個 package 來用 use DB_File; #use GDBM_File; # 建立檔案, 並讓 %dict 這個 hash 的內容變化立即反應到檔案內. tie %dict, 'DB_File', "dict.db", O_CREAT|O_TRUNC|O_RDWR, 0666; #tie %dict, 'GDBM_File', "dict.db", GDBM_NEWDB, 0666; # 新增資料 $dict{"blue"} = '藍色'; $dict{"penguin"} = '企鵝'; $dict{"swim"} = '游泳'; # 替 %dict 鬆綁, 其實也有關閉檔案的效果 untie %dict ; #----------------------------------------------------------------- #!/usr/bin/perl -w # 其實這是另一個程式, 只是我偷懶把兩個程式放在同一個檔案之中。 # 請將它拆開, 先執行後半, 應該印不出東西; 再執行前半, # 應該會多出一個 dict.db 檔; 最後再執行一次後半, 就會印出 # hash 裡面的資料。 use strict; my (%dict, $key, $value); # 選一個 package 來用 use DB_File; #use GDBM_File; tie %dict, 'DB_File', "dict.db", O_RDONLY; #tie %dict, 'GDBM_File', "dict.db", GDBM_READER, 0666; # 印出先前存的內容 while (($key, $value) = each %dict) { print "$key: $value\n"; } # 替 %dict 鬆綁, 其實也有關閉檔案的效果 untie %dict;