# class Parser
package Parser;

use strict;
use warnings;

#constructor
sub new {
    my ($class) = @_;
    my $self = {
        _file => undef,
        _FILEHANDLE => undef
    };
    bless $self, $class;
    return $self;
}

sub open {
    my($self, $file) = @_;
    
    my $result = 1;
    
    if(defined($file) && (-e $file) && (open(my $HANDLE, $file))) {
        $self->{_file} = $file;
        $self->{_FILEHANDLE} = $HANDLE;
    } else {
        $result = 0;
    }
    
    return $result;
}

sub close {
    my($self) = @_;
    
    if(defined($self->{_FILEHANDLE})) {
        close($self->{_FILEHANDLE});
    }
}

1;
