Hey Neil,
I have to preface this with the fact that I am not really good at iRules, but here is what I came up with. Give it a shot and see what you get, it at least compiles on my BIG-IP:
when HTTP_REQUEST {
set region [class match -value [whereis [IP::client_addr] abbrev] equals uk_regions]
if {$region ne ""}{
switch $region {
"York" { pool $region }
"Greater London" {HTTP::redirect http://dev.application.com/grlondon}
"Leeds" {HTTP::redirect http://dev.application.com/leeds}
"Stockport" {HTTP::redirect http://dev.application.com/stockport}
default {pool devpool}
}
}
}