Moduł File::Attributes
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
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 zkeys 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.
- Exporter
- Module::Pluggable
- Carp
- Best
- YAML
- File::Spec
Przeczytaj dokumentację File::Attributes - Manipulate file metadata - search.cpan.org
Informacje o autorze opracowania
Autor: M.M.