Iterator::IO

Iterator::IO is a Perl module with filesystem and stream iterators.
Download

Iterator::IO Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Eric J. Roode
  • Publisher web site:
  • http://search.cpan.org/~roode/

Iterator::IO Tags


Iterator::IO Description

Iterator::IO is a Perl module with filesystem and stream iterators. Iterator::IO is a Perl module with filesystem and stream iterators.SYNOPSIS use Iterator::IO; # Return the names of files in a directory (except . and ..) $iter = idir_listing ($path); # Return all the files in a directory tree, one at a time. # Like File::Find, in slow motion. $iter = idir_walk ($path); # Return the lines of a file, one at a time. $iter = ifile ($filename, %options); # Return the lines of a file, in reverse order $iter = ifile_reverse ($filename, %options);This module provides filesystem and stream iterator functions. See the Iterator module for more information about how to use iterators.FUNCTIONSidir_listing $iter = idir_listing ($path);Iterator that returns the names of the files in the $path directory. If $path is omitted, defaults to the current directory. Does not return the . and .. files (under unix).Requires IO::Dir and Cwd.Example:To return only certain files, combine this with an igrep: $iter = igrep {-s && -M < 1} idir "/some/path";(Returns non-empty files modified less than a day ago). (igrep) is defined in the Iterator::Util module).idir_walk $iter = idir_walk ($path);Returns the files in a directory tree, one by one. It's sort of like File::Find in slow motion.Requires IO::Dir and Cwd.ifile $iter = ifile ($filename, %options);Opens a file, generates an iterator to return the lines of the file.%options is a reference to a hash of options. Currently, two options are supported:chompchomp => boolean indicates whether lines should be chomped before being returned by the iterator. The default is true.$/'$/' => value specifies what string to use as the record separator. If not specified, the current value of $/ is used."rs" or "input_record_separator" may be used as option names instead of "$/", if you find that to be more readable. See the English module.Option names are case-insensitive.ifile requires IO::File.ifile_reverse $iter = ifile_reverse ($filename, %options);Exactly the same as "ifile", but reads the lines of the file backwards.The input_record_separator option values undef (slurp whole file) and scalar references (fixed-length records) are not currently supported.INTERFACE CHANGEIn version 0.01 of Iterator::IO, the "ifile" and ifile_reverse functions accepted their options in a different manner. This has now changed to operate via a hash reference of options. The old way will still work, but is deprecated and will be removed in a future release.EXPORTSThis module exports all function names to the caller's namespace by default.DIAGNOSTICSIterator::IO uses Exception::Class objects for throwing exceptions. If you're not familiar with Exception::Class, don't worry; these exception objects work just like $@ does with die and croak, but they are easier to work with if you are trapping errors.See the Iterator module documentation for more information on how to trap and handle these exception objects.Parameter Errors Class: Iterator::X::Parameter_ErrorYou called an Iterator::IO function with one or more bad parameters. Since this is almost certainly a coding error, there is probably not much use in handling this sort of exception.As a string, this exception provides a human-readable message about what the problem was.Exhausted Iterators Class: Iterator::X::ExhaustedYou called value on an iterator that is exhausted; that is, there are no more values in the sequence to return.As a string, this exception is "Iterator is exhausted."I/O Errors Class: Iterator::X::IO_ErrorThis exception is thrown when any sort of I/O error occurs; this only happens with the filesystem iterators.This exception has one method, os_error, which returns the original $! that was trapped by the Iterator object.As a string, this exception provides some human-readable information along with $!.Internal Errors Class: Iterator::X::Internal_ErrorSomething happened that I thought couldn't possibly happen. I would appreciate it if you could send me an email message detailing the circumstances of the error. Requirements: · Iterator · IO::Dir · Cwd · IO::File · Perl


Iterator::IO Related Software