Function: lookup

Look up value in array and return index in variable

USAGE: lookup arrayname string varname:index

lookup()
{       
  local arrayname=${1:?} string=${2:?} val var=${3:-index}
  

Copy the array, $arrayname, to local array

  eval "array=( \"\${$arrayname[@]}\" )"
  case ${array[*]} in
    

If the string is not in the array, don't bother looking

    *"$string"*)
          for val in "${!array[@]}"
          do
            case ${array[val]} in
              *"$string"*)
                     eval "$var=\$val"
                     ;;
            esac
          done
          ;;
  esac
}