GetChildren($objID); Sub GetChildren{ ($objid)=@_; my $sth = $dbh->prepare("select objid,type from table where parentid=?") $sth->execute($objid) while (@row = $sth->fetchrow_array){ ($objid, $type)=@row; if($type="Container"){ GetChildren($objid); }else{ do something else } }