The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Data::Range::Compare::Stream::Iterator::File::MergeSortAsc::Stack - On Disk Stack

SYNOPSIS

  use Data::Range::Compare::Stream::Iterator::File::MergeSortAsc::Stack;

  my $stack=new Data::Range::Compare::Stream::Iterator::File::MergeSortAsc::Stack;

  $stack->push('some string');

  while($stack->has_next) {
    my $next=$stack->get_next;
    print $next,"\n";
  }

DESCRIPTION

This is a very simple module that handles data pushed onto the stack in temp files. At runtime 2 temp files are created: One for reading one for writing. When the read file is exausted it is deleted and the write file becomes the new read file, at wich point a new write file is created and the process starts over again. All temp files are deleted when the object passes out of scope.

OO Methods

  • my $stack=new Data::Range::Compare::Stream::Iterator::File::MergeSortAsc::Stack;

    Instance constructor takes one optional argument:

      tmpdir=>undef|'/some/folder'
          # tmpdir is defined its value is passed to to File::Temp->new(DIR=>$self->{tmpdir});
  • while(my $state=$stack->has_next) { ... }

    Returns true of there are more elements on the stack. $state can be one of 3 values: 0 indicates stack is empty, 1 indicates there is only one element left on the stack, 2 indicates there are 2 or more objects left on the stack.

  • my $next=$stack->get_next;

    Returns the next value from the stack if $stack->get_next is true.

  • $stack->push('some string');

    Pushes the string onto the stack.

  • my $fh=$stack->get_temp;

    Returns a temporary file created from File::Temp->new;

SEE ALSO

Data::Range::Compare::Stream::Cookbook

AUTHOR

Michael Shipper

Source-Forge Project

As of version 0.001 the Project has been moved to Source-Forge.net

Data Range Compare https://sourceforge.net/projects/data-range-comp/

COPYRIGHT

Copyright 2011 Michael Shipper. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.