package Library;
sub new {
my ($class, $fname) = @_;
my $self = {
library => undef
};
bless $self, $class;
my $lib = Data::Container->new();
my $libfile = Data::File->new($fname);
$lib->read($libfile);
($self->{library}) = ($lib->get_list("library"));
return $self;
}
sub get_list {
my ($self, @keywords) = @_;
return $self->{lib}->get_list(@keywords);
}
####
package Data::Container;
sub new {
my $class = shift;
my $self = {
line => shift,
items => undef,
close => undef,
};
$self->{line} = "" unless $self->{line};
bless $self, $class;
}
####
package Data::File;
sub new {
my $class = shift;
my $self = {
file => iFile->new(shift)
};
bless $self, $class;
}