As mentioned, you simply need to figure out what the server is doing. Live HTTP Headers is a good way.
The following just selects Accounting courses:
my $ua = WWW::Mechanize->new;
my $res = $ua->post(
'http://students.yale.edu/oci/resultWindow.jsp',
Content => 'term=200901&GUPgroup=A&CourseNumber=&ProgramSubject=AC
+CT&InstructorName=&timeRangeFrom=08&timeRangeTo=21&ExactWordPhrase=&y
+cRules=new&distributionGroupOperator=AND&Submit.x=145&Submit.y=7'
);
$ua->follow_link( tag => 'frame', name => 'resultFrame' );
$ua->follow_link( tag => 'frame', name => 'resultList' );
print $ua->content;
Now you can parse the html to get at the information; it's the second table in the body.