my $files = {
filename1 => {
field1 => { start_position => 10,
length => 20
}, # values as appropriate
field2 => {
start_position => 20
length => 5
}
|
etc.
|
},
filename2 => {
| and so on...
}
}
####
foreach my $file ( keys %$files ){
foreach my $field ( keys %{$files->{$file}}{
|
do something here
|
####
package MyDataFile;
sub new {
my $p = shift;
my $class="MyDataFile";
my $self = {
fields => { },
filename => undef
};
bless $self, $class;
return $self;
}
sub filename {
my $self = shift;
if ( $_[0] ) {
$self->{filename} = shift;
}
return $self->{filename};
}
sub addField {
my ($self,$field_name,$start,$length)=@_;
$self->{fields} = {
fieldname=>$field_name,
start=> $start,
length=> $length
};
}
sub getField {
my ($self,$fieldname)=@_;
return $self->{fields}->{$fieldname};
}
sub getAllFieldnames {
my $self=shift;
return keys %{$self->{fields}};
}
1;
####
use strict;
use MyDataFile;
my @files=();
|
mumble...
|
my $df = new MyDataFile;
$df->filename('foo.blah');
$df->addField('snarf',5,20);
|
etc.
|