package porIteratorFactory; use porIterator; use porIteratorV2; use porIteratorV1; sub new() { ($class) = @_; $self = {}; bless($class, $self); return $self; } sub iterator() { ($class, $filename) = @_; open(DATA,'<$filename'); $first_line = ; close(DATA); $first_char = substr($first_line,0,1); # is the first character is a digit we have a v2 file if($first_char =~ m/\d/) { print "first char: $first_char\n"; return porIteratorV2->new($filename); } else { print "Creating V1 parser\n"; return porIteratorV1->new($filename); } return null; } 1;