郵便番号上2桁から都道府県名に変換する関数

def jp_zip2pref(zip)

    pref = nil

    case zip
    when /^01/
        pref = "秋田県"
    when /^02/
        pref = "岩手県"
    when /^03/
        pref = "青森県"
    when /^0[4-9]/
        pref = "北海道"
    when /^1/
        pref = "東京都"
    when /^2[1-5]/
        pref = "神奈川県"
    when /^2[6-9]/
        pref = "千葉県"
    when /^3[0-1]/
        pref = "茨城県"
    when /^32/
        pref = "栃木県"
    when /^3[3-6]/
        pref = "埼玉県"
    when /^37/
        pref = "群馬県"
    when /^3[8-9]/
        pref = "長野県"
    when /^40/
        pref = "山梨県"
    when /^4[1-3]/
        pref = "静岡県"
    when /^4[4-9]/
        pref = "愛知県"
    when /^50/
        pref = "岐阜県"
    when /^51/
        pref = "三重県"
    when /^52/
        pref = "滋賀県"
    when /^5[3-9]/
        pref = "大阪府"
    when /^6[0-2]/
        pref = "京都府"
    when /^63/
        pref = "奈良県"
    when /^64/
        pref = "和歌山県"
    when /^6[5-7]/
        pref = "兵庫県"
    when /^68/
        pref = "鳥取県"
    when /^69/
        pref = "島根県"
    when /^7[0-1]/
        pref = "岡山県"
    when /^7[2-3]/
        pref = "広島県"
    when /^7[4-5]/
        pref = "山口県"
    when /^76/
        pref = "香川県"
    when /^77/
        pref = "徳島県"
    when /^78/
        pref = "高知県"
    when /^79/
        pref = "愛媛県"
    when /^8[03]/
        pref = "福岡県"
    when /^84/
        pref = "佐賀県"
    when /^8[15]/
        pref = "長崎県"
    when /^86/
        pref = "熊本県"
    when /^87/
        pref = "大分県"
    when /^88/
        pref = "宮崎県"
    when /^89/
        pref = "鹿児島県"
    when /^90/
        pref = "沖縄県"
    when /^91/
        pref = "福井県"
    when /^92/
        pref = "石川県"
    when /^93/
        pref = "富山県"
    when /^9[4-5]/
        pref = "新潟県"
    when /^96/
        pref = "福島県"
    when /^98/
        pref = "宮城県"
    when /^99/
        pref = "山形県"
    end
    pref
end

puts jp_zip2pref("3340000") #埼玉県鳩ヶ谷市 => 埼玉県
puts jp_zip2pref("7450000") #山口県周南市   => 山口県
puts jp_zip2pref("9500000") #新潟県新潟市   => 新潟県
puts jp_zip2pref("0000001") #ありえない     => nil