All pastes #456487 Raw Edit

Stuff

public text v1 · immutable
#456487 ·published 2007-04-24 21:00 UTC
rendered paste body
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 = <DATA>;
    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;