NAME

Convert::yEnc::Decoder - decodes yEncoded files

SYNOPSIS

  use Convert::yEnc::Decoder;
  
  $decoder = new Convert::yEnc::Decoder;
  $decoder = new Convert::yEnc::Decoder $dir;
  
  $decoder->out_dir($dir);
  
  eval 
  { 
      $decoder->decode( $file);
      $decoder->decode(\*FILE);
      $decoder->decode;
  };
  print $@ if $@;
  
  $name   = $decoder->name;
  $file   = $decoder->file;
  $size   = $decoder->size;
  
  $ybegin = $decoder->ybegin;
  $ypart  = $decoder->ypart;
  $yend   = $decoder->yend;

ABSTRACT

yEnc decoder

DESCRIPTION

Convert::yEnc::Decoder decodes a yEncoded file and writes it to disk. Methods are provided for returning information about the decoded file.

Exports

Nothing.

Methods

$decoder = new Convert::yEnc::Decoder
$decoder = new Convert::yEnc::Decoder $dir

Creates and returns a new Convert::yEnc::Decoder object.

Decoded files will be written to $dir. If $dir is omitted, it defaults to the current working directory.

$decoder->out_dir($dir)
Sets the output directory to $dir.
$decoder->decode($file)
$decoder->decode(\*FILE)
$decoder->decode

Decodes a file. dies if there are any errors.

The first form reads from the file named $file. The second form reads from the file handle FILE. The third form reads from STDIN.

The data stream need not begin at the =yBegin line; decode will search until it finds it. decode stops reading when it finds the =yend line, so Decoder can decode multiple files from the same data stream.

decode may be called repeatedly on the same Decoder object to decode multiple files.

$name = $decoder->name
After a successful decode, returns the name of the file that was created.
$file = $decoder->file
After a successful decode, returns the complete path of the file that was created.
$size = $decoder->size
After a successful decode, returns the size of the decoded file.
$ybegin = $decoder->ybegin
After a successful decode, returns the =ybegin line.
$ypart = $decoder->ypart
After a successful decode, returns the =ypart line, or undef if there wasn't one.
$yend = $decoder->yend
After a successful decode, returns the =yend line.

NOTES

1-liner

To decode a single file on the command line, write

    perl -MConvert::yEnc::Decoder -e 'Convert::yEnc::Decoder->new->decode' < myFile

TODO

SEE ALSO

AUTHOR

Steven W McDougall, <swmcd@world.std.com>

COPYRIGHT AND LICENSE

Copyright (c) 2002-2008 by Steven McDougall. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.