#!C:/perl/bin/perl.exe use CGI::Carp qw(fatalsToBrowser); use CGI; $query = new CGI; #--------------------------- $trials= 4; $previoussec= $query->param('trialsec'); $previousmin= $query->param('trialmin'); $previoushour= $query->param('trialhour'); $rt00= $query->param('rt00'); $rt01= $query->param('rt01'); $rt02= $query->param('rt02'); $rt03= $query->param('rt03'); $trialnumber= $query->param('trialnumber'); #--------------------------- @varnum = ("00","01","02","03"); @stimuli= ("happy", "lonely", "secure", "anxious"); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); #--------------------------- if($trialnumber != 0){ $currenthour = $hour; $currentmin = $min; $currentsec = $sec; $rt= 0; # subtract seconds if($previoussec > $currentsec){ $secdiff = ((60 + $currentsec) - $previoussec); $currentmin = $currentmin - 1; } if($previoussec <= $currentsec){ $secdiff = $currentsec - $previoussec; } # subtract minutes if($previousmin > $currentmin){ $mindiff = ((60 + $currentmin) - $previousmin); $currenthour = $currenthour - 1; } if($previousmin <= $currentmin){ $mindiff = $currentmin - $previousmin; } # subtract hours if($previoushour > $currenthour){ $hourdiff = ((24 + $currenthour) - $previoushour); } if($previoushour <= $hour){ $hourdiff = $currenthour - $previoushour; } # convert difference to seconds $rt = (3600*$hourdiff)+(60*$mindiff)+($secdiff); $temp = "rt" . $varnum[($trialnumber - 1)]; $$temp = $rt; } else{ $trialnumber = 0; } #--------------------------- print $query->header; print $query->start_html(-title=>'Trials'); print ""; if($trialnumber >= 1){ print "Time to recall on previous trial (seconds): $rt.

"; } #--------------------------- if($trialnumber < $trials ){ print "
"; $stimulus= $stimuli[$trialnumber]; print "
Recall a time when you felt:

"; print "$stimulus

"; print "Press the button when you have a specific experience in mind.

"; print "
"; $count= $trialnumber + 1; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print "
"; } else{ open(INFO, ">>$ENV{'DOCUMENT_ROOT'}/P593/rtdemo.txt"); print INFO "$mon/$mday/$year,$hour:$min:$sec,$ip, "; print INFO "$rt00,$rt01,$rt02,$rt03\n"; close (INFO); open(INFO, "$ENV{'DOCUMENT_ROOT'}/P593/rtdemo.txt"); @data = ; close (INFO); print "Thank you. You have finished all trials.
"; print "Here are your response times:

"; print "$stimuli[0] : $rt00 seconds
"; print "$stimuli[1] : $rt01 seconds
"; print "$stimuli[2] : $rt02 seconds
"; print "$stimuli[3] : $rt03 seconds
"; $mypos = ($rt00 + $rt02)/2; $myneg = ($rt01 + $rt03)/2; print "
It took you $mypos seconds, on average, to recall positive memories and $myneg seconds to recall negative ones.

"; #--------------------------- $sumpos = 0; $sumneg = 0; $n = 0; foreach $key (@data) { ($date,$time,$ip, $p01, $n01, $p02, $n02)=split(/,/,$key); $sumpos = $sumpos + (($p01 + $p02)/2); $sumneg = $sumneg + (($n01 + $n02)/2); $n = $n + 1; } $meanpos = sprintf("%.4f", ($sumpos/$n)); $meanneg = sprintf("%.4f", ($sumneg/$n)); print "On average, people in this sample have taken $meanpos seconds to recall positive memories and $meanneg to recall negative memories.
"; } #--------------------------- print $query->end_html;