NAME

Date::Simple::Range - A range of Date::Simple objects

SYNOPSIS

 use Date::Simple::Range;

 # the new, start and end methods accept Date::Simple, DateTime, Time::Piece,
 # Date::Calc::Object objects, ISO 8601 strings and undef values.

 my $range = new Date::Simple::Range('2008-01-01', '2008-01-05');

 my $incomplete = new Date::Simple::Range(undef, '2008-01-05');
 my $start = new Date::Simple('2008-01-01');
 $incomplete->start($start);	# now complete


 if ($range) { ...		# start and end dates are both valid

 print $range;			# stringifies as '2008-01-01 - 2008-01-05'
				# or 'incomplete range'

 $range->start			# start date
 $range->end			# end date

 $range->start('2008-01-02')	# change start date
 $range->end($anotherobj)	# change end date

 $range >>= 2			# shift range two days in the future...
 $range <<= 4			# ...and 4 days in the past

 $range->duration		# duration as a Time::Seconds object
 $range->duration->days 	# duration in days
 scalar @$range			# duration in days (ugly!)

 foreach (@$range) { ...	# iterate thru the range
 while (<$range>) { ...		# another way, less memory hungry

 $range->clone			# a new, independent, cloned range object

DESCRIPTION

A range of Date::Simple objects.

SEE ALSO

Date::Simple, Time::Seconds

AUTHOR

Alessandro Zummo, <a.zummo@towertech.it>

COPYRIGHT

Copyright (C) 2008 by Alessandro Zummo

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.