#!/usr/local/bin/perl -w ### MyClass::DBI contains simple Class::DBI initialisation for my database (Oracle) use base 'MyClass::DBI'; use strict; use Set::Object; use MyClass::Person; my $set1 = Set::Object->new(); my $set2 = Set::Object->new(); my $set3 = Set::Object->new(); $set1->insert( MyClass::Person->search_like( date_of_birth => '1965%' ) ); $set2->insert( MyClass::Person->search_like( place_of_birth => '%ON' ) ); printf "Set 1 is %i large, and set 2 is %i large - confirmed with SQL \n", $set1->size, $set2->size; printf "The intersect of set 1 and set 2 should contain 25 objects - confirmed with SQL\n"; $set3 = $set1->intersection( $set2 ); printf "\$set1->intersection( \$set2 ) makes set 3 %i large\n", $set3->size; $set3 = $set1->intersection( $set1, $set2 ); printf "\$set1->intersection( \$set1, \$set2 ) makes set 3 %i large\n", $set3->size; $set3 = $set3->intersection( $set1, $set2 ); printf "\$set3->intersection( \$set1, \$set2 ) makes set 3 %i large\n", $set3->size; $set3 = $set3->union( $set1, $set2 ); printf "\$set3->union( \$set1, \$set2 ) makes set 3 %i large - so something must work under the hood\n", $set3->size;