Trying to create a new prebuilt list in webform I'm attempting to define a new prebuilt list for our site, and even though everything looks like it should be fine, based on the examples I could find, the list doesn't appear.

My module is appearing in the list of modules, under "Other", and it is  enabled.

This is the content of the AddressList_webform_select_options.module file.

&lt;?php

/**
 * Implementation of hook_webform_select_options_info().
 * See webform/webform_hooks.php for further information on this hook in the Webform API.
 */

function AddressList_webform_select_options_info() {
  $items = array();
  $items['Address'] = array(
    'title' =&gt; t('Select Address'),
    'options callback' =&gt; 'AddressList_options_Address'
  );
  return $items;
}

?&gt;

&lt;?php

/**
 * Build an options list for use by webforms.
 */
function AddressList_options_Address() {
  $options = array();
    $options[] = "1|city2 - Address1 - Floor - Building Name";
    $options[] = "2|city2 - Address2 - Floor - Building Name";
    $options[] = "3|city2 - Address3 - Floor - Building Name";
    $options[] = "4|city1 - Address4 - Floor - Building Name";
  return $options;
}

?&gt;


This is the content of the .info file.

name = Address List
description = Creates a prebuilt list that contains all current addresses.
core = 6.x
dependencies[] = webform


Please tell me I'm missing something simple.
When you are building option list in code, don't use human-readable syntax. Use machine-readable one. So instead of this:

$options[] = "1|city2 - Address1 - Floor - Building Name";


you should use this:

$options[1] = "city2 - Address1 - Floor - Building Name";


Second very bad thing you did is:

?&gt;

&lt;?php


It is highly discouraged to ever close php block. Everywhere except template files you should have &lt;?php as the very first 5 bytes, and no ?&gt; at all. What you apparently did was outputting few empty lines to the user's screen where nothing expected them.