=encoding utf-8
=head1 NAME
Text::Control - Transforms of control characters
=head1 SYNOPSIS
use Text::Control;
Text::Control::to_dot("\x00\\Hi\x7fthere.\x80\xff"); # .\Hi.there...
Text::Control::to_hex("\x00\\Hi\x7fthere.\x80\xff");
# \x00\\Hi\x7fthere.\x80\xff -- note the escaped backslash
=head1 DESCRIPTION
These are transforms that I find useful for debugging. Maybe you will, too?
=head1 NONPRINTABLE BYTES
This module considers byte numbers 32 - 126 to be “printable”; i.e., they
represent actual ASCII characters. Anything outside this range is thus
“nonprintable”.
=head1 FUNCTIONS
=head2 to_dot( OCTET_STRING )
Transforms each nonprintable byte into a dot (C<.>, ASCII 46) and returns
the result.
=head2 to_hex( OCTET_STRING )
Transforms each nonprintable byte into the corresponding \x.. sequence,
appropriate for feeding into
C<eval()>. For example, a NUL byte comes out as C<\x00>.
In order to make this encoding reversible, backslash characters (C<\>) are
double-escaped (i.e., C<\> becomes C<\\>).
=head2 from_hex( FROM_TO_HEX )
This transforms the result of C<to_hex()> back into its original form.
I’m not sure this is actually useful :), but hey.
=head1 AUTHOR
Felipe Gasper (FELIPE)
=head1 REPOSITORY
https://github.com/FGasper/p5-Text-Control
=head1 COPYRIGHT
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the
LICENSE file included with this module.