NAME
Data::Translate - Translate string data between a few patterns (binary,decimal,ascii,
hex
)
SYNOPSIS
use
Data::Translate;
$data
=new Translate;
# Example, translating from hex to Ascii
# $s receives the status of the operation
@hh
=
qw(64 65 6e 61 6f)
;
(
$s
,
@ha
)=
$data
->h2a(
@hh
);
join
(
''
,
@ha
),
"\n"
;
## will output "denao"
DESCRIPTION
This module is intended to translate data between a few patterns.
Basicly, it is a ease mode to
pack
/
unpack
stuff.
Imagine, you have a script that treats
hex
data, and you
need to see the
values
, in other
format
, like decimal,
binary or even ascii.
This module implements a symplistic way to Translate
values
smoothly returning the status of operation and
values
always
on a string.
You may translate at this point:
- ascii to binary
- ascii to decimal
- ascii to
hex
- decimal to ascii
- decimal to binary
- decimal to
hex
- binary to ascii
- binary to decimal
- binary to
hex
-
hex
to binary
-
hex
to decimal
-
hex
to ascii
Please, head to test.pl
for
additional examples.
The functions you'll call, are
defined
as the first
byte of
each
data type.
If you want to translate from binary to
hex
, you'll
->new
-
Creates a new instance of Translation.
eg.:
$data
=new Translate;
->a2b
Translate from ascii to binary Ex.:-
(
$s
,
$bin
)=
$data
->a2b(
$str
);
->a2d
Translate from ascii to decimal Ex.:-
(
$s
,
@dec
)=
$data
->a2d(
$str
);
->a2h
Translate from ascii to hexadecimal Ex.:-
(
$s
,
$hh
)=
$data
->a2h(
$str
);
->b2a
Translate from binary to ascii Ex.:-
(
$s
,
$asc
)=
$data
->b2a(
$bin
);
->b2d
Translate from binary to decimal Ex.:-
@t
=
unpack
(
"A8"
x (
length
(
$bin
)/8),
$bin
);
foreach
$binary
(
@t
) {
(
$s
,
$d
)=
$data
->b2d(
$binary
);
print
"--> $d\n"
;
}
->b2h
Translate from binary to hexadecimal Ex.:-
foreach
$binary
(
@t
) {
(
$s
,
$hx
)=
$data
->b2h(
$binary
);
print
"--> $hx\n"
;
}
->d2a
Translate from decimal to ascii Ex.: ($s,@a)=$data->d2a(@dec);->d2b
Translate from decimal to binary Ex.: ($s,@b)=$data->d2b(@dec);->d2h
Translate from decimal to hexadecimal Ex.: ($s,@bh)=$data->d2h(@dec);->h2a
Translate from hexadecimal to ascii Ex.: ($s,@ha)=$data->h2a(@hh);->h2b
Translate from hexadecimal to binary Ex.:-
(
$s
,
@hd
)=
$data
->h2d(
@hh
);
->h2d
Translate from hexadecimal to decimal Ex.:-
(
$s
,
@hb
)=
$data
->h2b(
@hh
);
INSTALLATION perl Makefile.PL # build the Makefile make # build the package make test # test package make install # Install package =over
AUTHOR Denis Almeida Vieira Junior <davieira@uol.com.br>.
SEE ALSO
perl(1)