Joachim Bargsten > Bio-Gonzales-0.0544 > BaMo::Role::FileIO

Download:
Bio-Gonzales-0.0544.tar.gz

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source   Latest Release: Bio-Gonzales-0.0549

NAME ^

BaMo::Role::FileIO - File input & ouput interface for parser classes

SYNOPSIS ^

    use Mouse;

    with 'BaMo::Role::FileIO';

    sub parse {
        my ($self) = @_;
        $fhi = $self->_fhi;

        while(my $line = $fhi->()) {
            #parse a bit
            if($line =~ /break/) {
                # oh no, we parsed too much...
                push @{$self->_cached_records}, $line;
                #but we can reverse it
            }
        }
    }

DESCRIPTION ^

Enhances the class that uses this role with a file handle iterator that is capable of caching records (lines in most cases), in case you read too much.

METHODS ^

$self->fh()

Get or set the filehandle.

$self->_cached_records()

You can push lines on @{$self->_cached_records} (they need to be chomped already). The file handle iterator will use them first if you call it. The file handle will not be touched until all cached lines are shifted.

$class->new(file => 'filename.xyz', mode => '<')

Opens the file in the specified mode. Sets the fh and _fhi attribute (indirectly).

$self->_fhi()

Get the file handle iterator.

$class->new(fh => $fh)
$self->close()

Close the filehandle.

SEE ALSO ^

AUTHOR ^

jw bargsten, <joachim.bargsten at wur.nl>

syntax highlighting: