Text::FIGlet::Control - control file support for Text::FIGlet
use Text::FIGlet;
my $flc = Text::FIGlet->new(-C=>'upper.flc');
print $flc->tr("Hello World");
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.
- -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.
- scalar
- Process text in scalar.
Text::FIGlet::Control will make use of these environment variables if
present
- FIGLIB
- The default location of fonts. If undefined the default is
/usr/local/share/figlet
FIGlet control files are available at
ftp://ftp.figlet.org/pub/figlet/
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.
Text::FIGlet, figlet(6), tr(1)
Jerrad Pierce
** />>
_ // _ _ _ / >>>
(_) ** ,adPPYba, >< ><<< _(_)(_)(_) / >>>
| | /** a8P_____88 ><< (_) >> >>>
| | |~~\ /** 8PP""""""" ><< (_) >>>>>>>>
_/ | |__/ /** "8b, ,aa ><< (_)_ _ _ >>>>>>> @cpan.org
|__/ | /** `"Ybbd8"' ><<< (_)(_)(_) >>
// >>>> /
>>>>>>/
>>>>>