Moduł File::Attributes

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

O czym to jest

File::Attributes to Moduł Perla umożliwiający modyfikację meta-danych plików.

W istocie moduł umożliwia nam jednynie przypisywanie atrybutów plikom, a następnie zczytywanie ich, wyświetlanie bądź też usuwanie.

Funkcje

get_attribute
get_attribute($file, $attribute)Zwraca wartość atrybutu $attribute pliku $file. Jeżeli atrybut nie istnieje, zwraca undef.
set_attribute
set_attribute($file, $attribute => $value)Ustawia atrybut $attribute pliku $file na wartość $value.
get_attributes
get_attributes($file)Zwraca hasz z wszystkimi atrybutami pliku.
set_attributes
set_attributes($file, %hash)Ustawia atrybuty wyszczególnione jako klucze hasza %hash o wartościach podanych jako wartości dla tych kluczy.
unset_attribute
unset_attribute($file, $attribute)Usuwa atrybut $attribute z pliku $file.
unset_attributes
unset_attributes($file, $attribute0, [$attribute1, ...])Usuwa atrybuty ($attribute0, $attribute1, ...) z pliku $file.
list_attributes
list_attributes($file)Zwraca listę atrybutów danego pliku. Jest równoważne z keys get_attributes($file) ale szybsze!

Funkcje zwracają wyjątek w przypadku błędu.

Przykład użycia

use File::Attributes qw(set_attribute list_attributes get_attributes); my $file = 'foo.txt'; my $pho = '1.jpg'; set_attribute($file, type => 'text/plain'); set_attribute($file, encoding => 'utf8'); set_attribute($file, nowy => 'nowyplik'); set_attribute($pho, date => '2007-01-01'); %attributes = get_attributes($file); my @attributes = list_attributes($pho);

utworzone zostaną dwa dodatkowe pliki:

#.foo.txt.attributes --- encoding: utf8 nowy: nowyplik type: text/plain #.1.jpg.attributes --- date: 2007-01-01

Komentarz

Informacje nie są przechowywane bezpośrednio w pliku, na którym dokonywane były zmiany, ale w innym dodatkowym pliku, który usuwany jest w przypadku gdy wszystkie atrybuty zostaną usunięte. Możliwa jest też ręczna modyfikacja takiego pliku.

Ustawiane atrybuty są unikatowe dla pliku o danej nazwie, oznacza to np. że jeżeli skopiujemy plik, jego kopia nie będzie posiadała atrybutów utworzonych przy użyciu tego modułu.

Dodatkowe informacje

Moduł korzysta z szeregu innych modułów t.j.

Przeczytaj dokumentację File::Attributes - Manipulate file metadata - search.cpan.org

Informacje o autorze opracowania

Autor: M.M.

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.