ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



dynamic(3)                           User Contributed Perl Documentation                          dynamic(3)



NAME
       PerlIO::via::dynamic - dynamic PerlIO layers

SYNOPSIS
        open $fh, $fname;
        $p = PerlIO::via::dynamic->new
         (translate =>
           sub { $_[1] =~ s/\$Filename[:\w\s\-\.\/\\]*\$/\$Filename: $fname\$/e},
          untranslate =>
           sub { $_[1] =~ s/\$Filename[:\w\s\-\.\/\\]*\$/\$Filename\$/});
        $p->via ($fh);
        binmode $fh, $p->via; # deprecated

DESCRIPTION
       "PerlIO::via::dynamic" is used for creating dynamic PerlIO layers. It is useful when the behavior or
       the layer depends on variables. You should not use this module as via layer directly (ie
       :via(dynamic)).

       Use the constructor to create new layers, with two arguments: translate and untranslate. Then use
       "$p-"via ($fh)> to wrap the handle.  Once <$fh> is destroyed, the temporary namespace for the IO
       layer will be removed.

       Note that PerlIO::via::dynamic uses the scalar fields to reference to the object representing the
       dynamic namespace.

OPTIONS
       translate
           A function that translate buffer upon write.

       untranslate
           A function that translate buffer upon read.

       use_read
           Use "READ" instead of "FILL" for the layer.  Useful when caller expect exact amount of data from
           read, and the "untranslate" function might return different length.

           By default "PerlIO::via::dynamic" creates line-based layer to make "translate" implementation
           easier.

AUTHORS
       Chia-liang Kao <clkao@clkao.org>

COPYRIGHT
       Copyright 2004 by Chia-liang Kao <clkao@clkao.org>.

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

       See <http://www.perl.com/perl/misc/Artistic.html



perl v5.8.8                                      2006-03-06                                       dynamic(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.