=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. 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 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.