I get the same result on Solaris 9. I'm a little baffled by it, too, because at line 10, right before the print statement, $period has this structure:
DB<1> x $period
0 Date::Set=HASH(0x5ef384)
'dtstart' => undef
'fixtype' => 1
'list' => ARRAY(0x1131ac)
0 HASH(0x606130)
'a' => Date::Set::ICal=HASH(0x605d94)
'epoch' => 20021201
'b' => Date::Set::ICal=HASH(0x497a74)
'epoch' => 20021231
'open_begin' => 0
'open_end' => 0
'tolerance' => 0
'type' => 'Date::Set::ICal'
'wkst' => 'MO'
But if I print $period, I get
DB<2> p $period
[19700820T172641Z..19700820T172711Z]
I suggest contacting the developer(s). I also noticed that one of the dependent modules warned about the API being in flux, so there is a possibility that changes in the API broke Date::Set. You might want to try older versions of those.
Good luck.