#! perl # # reads a manifest file and returns a list of files # vim: ts=4 sw=4 ai use Text::CSV::Simple; sub readManifest { my $parser = Text::CSV::Simple->new; my @data = $parser->read_file($datafile); my @result; foreach (@data) { ( $type, $name, $file ) = @$_; if ($type eq 'm') { push @result, $file; } elsif ($type eq 's') { if ($file =~ m#^(.+\.mdb)/.+#) { push @result, $1; } else { foreach ('dbf','prj','sbn','sbn.xml', 'sbx','shp','shp.xml','shx') { push @result,"$file.$_" if (-e "$file.$_"); } } } elsif ($type eq 'f') { push @result, $file; } } return @result; }