Provided by: libtext-trim-perl_1.02-1_all bug

NAME

       Text::Trim - remove leading and/or trailing whitespace from strings

VERSION

       version 1.02

SYNOPSIS

           use Text::Trim;

           $text = "\timportant data\n";
           $data = trim $text;
           # now $data contains "important data" and $text is unchanged

           # or:
           trim $text; # work in-place, $text now contains "important data"

           @lines = <STDIN>;
           rtrim @lines; # remove trailing whitespace from all lines

           # Alternatively:
           @lines = rtrim <STDIN>;

           # Or even:
           while (<STDIN>) {
               trim; # Change $_ in place
               # ...
           }

DESCRIPTION

       This module provides functions for removing leading and/or trailing whitespace from
       strings. It is basically a wrapper around some simple regexes with a flexible context-
       based interface.

EXPORTS

       All functions are exported by default.

CONTEXT HANDLING

   void context
       Functions called in void context change their arguments in-place

           trim(@strings); # All strings in @strings are trimmed in-place

           ltrim($text); # remove leading whitespace on $text

           rtrim; # remove trailing whitespace on $_

       No changes are made to arguments in non-void contexts.

   list context
       Values passed in are changed and returned without affecting the originals.

           @result = trim(@strings); # @strings is unchanged

           @result = rtrim; # @result contains rtrimmed $_

           ($result) = ltrim(@strings); # like $result = ltrim($strings[0]);

   scalar context
       As list context but multiple arguments are stringified before being returned.  Single
       arguments are unaffected.  This means that under these circumstances, the value of $"
       ($LIST_SEPARATOR) is used to join the values. If you don't want this, make sure you only
       use single arguments when calling in scalar context.

           @strings = ("\thello\n", "\tthere\n");
           $trimmed = trim(@strings);
           # $trimmed = "hello there"

           local $" = ', ';
           $trimmed = trim(@strings);
           # Now $trimmed = "hello, there"

           $trimmed = rtrim;
           # $trimmed = $_ minus trailing whitespace

   Undefined values
       If any of the functions are called with undefined values, the behaviour is in general to
       pass them through unchanged. When stringifying a list (calling in scalar context with
       multiple arguments) undefined elements are excluded, but if all elements are undefined
       then the return value is also undefined.

           $foo = trim(undef);        # $foo is undefined
           $foo = trim(undef, undef); # $foo is undefined
           @foo = trim(undef, undef); # @foo contains 2 undefined values
           trim(@foo)                 # @foo still contains 2 undefined values
           $foo = trim('', undef);    # $foo is ''

FUNCTIONS

   trim
       Removes leading and trailing whitespace from all arguments, or $_ if none are provided.

   rtrim
       Like trim() but removes only trailing (right) whitespace.

   ltrim
       Like trim() but removes only leading (left) whitespace.

UNICODE

       Because this module is implemented using perl regular expressions, it is capable of
       recognising and removing unicode whitespace characters (such as non-breaking spaces) from
       scalars with the utf8 flag on. See Encode for details about the utf8 flag.

       Note that this only applies in the case of perl versions after 5.8.0 or so.

SEE ALSO

       Brent B. Powers' String::Strip performs a similar function in XS.

AUTHOR

       Matt Lawrence <mattlaw@cpan.org>

ACKNOWLEDGEMENTS

       Terrence Brannon <metaperl@gmail.com> for bringing my attention to String::Strip and
       suggesting documentation changes.