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

NAME

Text::FIGlet::Control - control file support for Text::FIGlet

SYNOPSIS

  use Text::FIGlet;

  my $flc = Text::FIGlet->new(-C=>'upper.flc');

  print $flc->tr("Hello World");

DESCRIPTION

Text::FIGlet::Control uses control files, which tell it to map certain input characters to certain other characters, similar to the Unix tr command. Control files can be identified by the suffix .flc. Most Text::FIGlet::Control control files will be stored in FIGlet's default font directory.

The following control file commands are supported, for more detail see figfont.txt included with this distribution.

f Freeze

A kind of "save state", executes all previously accumulated translations before continuing.

t Translate

Both the explicit forms "t in out" and "t in-range out-range" as well as the implicit form "number number".

Note that if you are mapping in negative characters, you will need to figify in Unicode mode -U. See also u below.

u Unicode

Process text as Unicode (UTF-8).

Note that this is required for perl 5.6 if you are doing negative mapping.

OPTIONS

new

-C=>controlfile

Control objects are used to peform various text translations specified by an flc file.

  $_ = "Hello World";
  my $flc = Text::FIGlet::Control->new(-C=>'rot13');
  print $font->figify($flc->());
  #The text "Urryb Jbeyq" is output.

Multiple -C parameters may be passed, and the object returned will be an aggregate of the specified controls.

  my $flc  = Text::FIGlet::Control->new(-C=>'upper', -C=>'rot13');
  my $out0 = $flc->();
  #The text "uRRYB jBEYQ" is output.

  #This is equivalent
  my $flc1  = Text::FIGlet::Control->new(-C=>'upper',);
  my $flc2  = Text::FIGlet::Control->new(-C=>'rot13');
  my $out1 = $flc2->($flc1->();

  #So is this
  my $out2 = $flc1->($flc2->());
  #NOTE: Controls are not commutative.
  #Order of chained controls is only
  #insignificant for some controls.

tr

scalar

Process text in scalar.

ENVIRONMENT

Text::FIGlet::Control will make use of these environment variables if present

FIGLIB

The default location of fonts. If undefined the default is /usr/games/lib/figlet

FILES

FIGlet control files are available at

  ftp://ftp.figlet.org/pub/figlet/

CAVEATS

There is a mystery bug in perls 5.6.1 and 5.6.2 which can cause seemingly simple transliterations to fail. The standard figlet(1) upper.flc is an example of such a transliteration. For this reason, the enclosed upper.flc uses a freeze after the ASCII swapping. I've no idea why, but it seems to work. If you experience similar problems with other control files, try some shotgun debugging with freezes yourself. Modern perls, 5.6.0 and even 5.005_05 do not have this problem.

SEE ALSO

Text::FIGlet, figlet(6), tr(1)

AUTHOR

Jerrad Pierce

                **                                    />>
     _         //                         _  _  _    / >>>
    (_)         **  ,adPPYba,  >< ><<<  _(_)(_)(_)  /   >>>
    | |        /** a8P_____88   ><<    (_)         >>    >>>
    | |  |~~\  /** 8PP"""""""   ><<    (_)         >>>>>>>>
   _/ |  |__/  /** "8b,   ,aa   ><<    (_)_  _  _  >>>>>>> @cpan.org
  |__/   |     /**  `"Ybbd8"'  ><<<      (_)(_)(_) >>
               //                                  >>>>    /
                                                    >>>>>>/
                                                     >>>>>