Tels > Convert-Morse-0.06 > Convert::Morse

Download:
convert/Convert-Morse-0.06.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.06   Source  

NAME ^

Convert::Morse - Convert between ASCII text and MORSE alphabet

SYNOPSIS ^

    use Convert::Morse qw(as_ascii as_morse is_morsable);

    print as_ascii('.... . .-.. .-.. ---  -- --- .-. ... .'),"\n";
                                                 # 'Helo Morse'
    print as_morse('Perl?'),"\n";                # '.--. . .-. .-.. ..--..'
    print "Yes!\n" if is_morsable('Helo Perl.'); # print "Yes!"

REQUIRES ^

perl5.8.1, Exporter

EXPORTS ^

Exports nothing on default, but can export as_ascii() and as_morse().

DESCRIPTION ^

This module lets you convert between normal ASCII text and international Morse code. You can redefine the token sets, if you like.

INPUT

ASCII text can have both lower and upper case, it will be converted to upper case prior to converting.

Morse code input consists of dashes '-' and dots '.'. The elements MUST NOT to have spaces between, e.g. A is '.-' and not '. -'. Characters MUST have at least one space between. Additonal spaces are left over to indicate word boundaries. This means '.- -...' means 'AB' and and '.- -...' means 'A B'.

The conversion routines are designed to be stable and ignore/skip unknown input, so that you can write:

        print as_ascii('Hello -- --- .-. ... .  Perl!');

beware, though, a single '.' or '-' at the end will be interpreted as '. ' respective '- ' and thus become 'E' or 'T'. Use Convert::Morse::error() to check wether all went ok or not.

OUTPUT

The output will always consist of upper case letters or, in case of as_morse(), of [-. ].

ERRORS

Unknown tokens in the input are ignored/skipped. In these cases you get the last error message with Convert::Morse::error().

METHODS ^

as_ascii()

            as_ascii();

Convert a Morse code text consisting of dashes and dots to ASCII.

as_morse()

            as_morse();

Convert a ASCII text to Morse code text consisting of dashes, dots and spaces.

is_morse()

            is_morse();

Return wether input is a true Morse code string or not.

is_morsable()

            is_morseable();

Return wether input can be completely expressed as Morse code or not.

tokens()

        Convert::Morse::tokens( { 'a' => '..-...-..--..' } );

Set/get the hash of the valid and invalid tokens that are used in the conversion between ASCII and Morse.

The format is ascii => morse.

error()

            error();

Returns the last error message or undef when no error occured.

LIMITATIONS ^

Can not yet do Japanese code nor German Umlaute.

LICENSE ^

This library is free software; you can redistribute it and/or modify it under the terms of the GPL 2.0 or a later version.

See the LICENSE file for a copy of the GPL.

AUTHOR ^

Tels http://bloodgate.com in late 2000, 2004, 2007, 2008.

syntax highlighting: