I am implementing pager in hook_block_view($delta).

function custom_module_block_view($delta = '') {
$block = array();
switch ($delta) {
case 'custom_block':
$block['subject'] = t('Custom Block');
$query = db_select('node', 'n');
$intermediate = $query->fields('n',array('nid', 'title'));

$maxCount = $intermediate->countQuery()->execute()->fetchField();

$num_per_page = variable_get('custom_module_num_per_page', 1);

$page = pager_default_initialize($maxCount, $num_per_page);

$offset = $num_per_page * $page;

$value = $query->range($offset, $num_per_page)->execute();

foreach ($value as $val) {
$items[] = array(
'data' => l($val->title, 'node/' . $val->nid),
);
}

$output = theme('item_list', array(
'items' => $items));
$output .= theme('pager');

$block['content'] = $output;
break;
}
return $block;
}

Any suggestion are welcome.

Regards
Rajat Gusain