The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Range::Object::String - Implements string collections with Range::Object API

SYNOPSIS

 use Range::Object::String;
 
 # Create a new collection
 my $range = Range::Object::String->new('foo bar', 'qux');
 
 # Test if a value is in range
 print "in range\n"     if  $range->in('foo');
 print "not in range\n" if !$range->in('baz');
 
 # Add values to range
 $range->add('baz');
 
 # Get sorted full list of values
 my @list = $range->range();
 print join q{ }, @list;         # Prints 'baz foo bar qux'
 
 # Get sorted list of strings separated with "\n"
 my $string = eval{ $range->range() };
 print "$string"                 # Prints: baz
                                 #         foo bar
                                 #         qux
 
 # Get range size
 my $size = $range->size();
 print "$size\n";                # Prints: 4

DESCRIPTION

String ranges are not true ranges, more like collections. All strings in the "range" are separate values and can be never collapsed. Default separators are \r, \n and \t.

METHODS

See Range::Object.

BUGS AND LIMITATIONS

Input strings cannot contain line feeds, newline and tab characters as these are used as list separators.

There are no known bugs in this module. Please report problems to author, patches are welcome.

LICENSE AND COPYRIGHT

Copyright (c) 2011-2017 Alex Tokarev <tokarev@cpan.org>.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.