Short description of Lingua::EN::Squeeze.pm module

    NAME

        Squeeze.pm - Shorten text to minimum syllables by using hash table
        lookup and vowel deletion

    SYNOPSIS

            use Squeeze.pm;         # import only function
            use Squeeze qw( :ALL ); # import all functions and variables
            use English;            # to use readable variable names

            while (<>)
            {
                print "Original: $ARG\n";
                print "Squeezed: ", SqueezeText lc $ARG;
            }

            #  Or you can use object oriented interface

            $squeeze = new Lingua::EN::Squeeze;

            while (<>)
            {
                print "Original: $ARG\n";
                print "Squeezed: ", $squeeze->SqueezeText(lc $ARG);
            }

    DESCRIPTION

        Squeeze English text to most compact format possible so that it is
        barely readable. Be sure to convert all text to lowercase before
        using the SqueezeText() for maximum compression, because
        optimizations have been designed mostly for uncapitalized letters.

        Warning: Each line is processed multiple times, so prepare for slow
        conversion time'

        You can use this module e.g. to preprocess text before it is sent
        to electronic media that has some maximum text size limit. For
        example pagers have an arbitrary text size limit, typically around
        200 characters, which you want to fill as much as possible.
        Alternatively you may have GSM cellular phone which is capable of
        receiving Short Messages (SMS), whose message size limit is 160
        characters. For demonstration of this module's SqueezeText()
        function, this paragraph's conversion result is presented below.
        See yourself if it's readable (Yes, it takes some time to get used
        to). The compression ratio is typically 30-40%

            u _n use thi mod e.g. to prprce txt bfre i_s snt to
            elrnic mda has som max txt siz lim. f_xmple pag
            hv  abitry txt siz lim, tpcly 200 chr, W/ u wnt
            to fll as mch as psbleAlternatvly u may hv GSM cllar P8
            w_s cpble of rcivng Short msg (SMS), WS/ msg siz
            lim is 160 chr. 4 demonstrton of thi mods SquezText
            fnc ,  dsc txt of thi prgra has ben cnvd_ blow
            See uself if i_s redble (Yes, it tak som T to get usdto
            compr rat is tpcly 30-40

        And if $SQZ_OPTIMIZE_LEVEL is set to non-zero

            u_nUseThiModE.g.ToPrprceTxtBfreI_sSntTo
            elrnicMdaHasSomMaxTxtSizLim.F_xmplePag
            hvAbitryTxtSizLim,Tpcly200Chr,W/UWnt
            toFllAsMchAsPsbleAlternatvlyUMayHvGSMCllarP8
            w_sCpbleOfRcivngShortMsg(SMS),WS/MsgSiz
            limIs160Chr.4DemonstrtonOfThiModsSquezText
            fnc,DscTxtOfThiPrgraHasBenCnvd_Blow
            SeeUselfIfI_sRedble(Yes,ItTakSomTToGetUsdto
            comprRatIsTpcly30-40

NOTES:

        If you see following error during running test, please note,
        that these are not coming from Squeeze.pm or from 't/test.t'. You
        can verify this by running tests manually with 'perl t/test.t'.

            foo@host$ perl *.PL
            foo@host$ make test
            PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
            t/test....Use of uninitialized value in concatenation (.) or string at (eval 9) line 3.
            Use of uninitialized value in concatenation (.) or string at (eval 10) line 3.
            Use of uninitialized value in concatenation (.) or string at (eval 10) line 3.
            Use of uninitialized value in concatenation (.) or string at (eval 9) line 3.
            t/test....ok 1/7Invalid conversion in sprintf: end of string at t/test.t line 62.
            Use of uninitialized value in concatenation (.) or string at (eval 10) line 3.
            Use of uninitialized value in concatenation (.) or string at (eval 9) line 3.
            t/test....ok
            All tests successful.

End