www.pudn.com > coolchat.zip > finduser.pl
sub finduser
{
my($username,$total_size) = @_;
my($oldname,$tails,$time);
$username = lc($username);
$hi=$total_size - 1;
$low=0;
if($total_size eq 0)
{
$MID = 0;
return 0;
}
@userlines = sort @userlines;
while($low <= $hi)
{
$MID=int(($low+$hi)/2);
($oldname,$tails)=split(/:/,$userlines[$MID],2);
$cmp = lc($oldname) cmp $username;
if($cmp == 0)
{
($time,$theRandnum,$UserIP)=split(/:/,$tails,4);
return -1;
}
if($cmp>0)
{
$hi=$MID-1;
}
else
{
$low=$MID+1;
}
#print "Content-text: text/html\n\n$MID:$oldname:$cmp:$username
\n";
}
if( $cmp < 0)
{
return $MID + 1;
}
return $MID;
}
1;