The problem you have is you are starting with a switch and confusing the runtime with if statements.
If you want to use If's, then it would look more like this:
when HTTP_REQUEST {
set hostname [string tolower [HTTP::host]]
if { $hostname starts_with "abc" } {
pool ss-devsp3-pool
} elseif { $hostname starts_with "def" } {
pool ss-devsp3-pool-81
} elseif { $hostname starts_with "ghi" } {
pool ss-devsp3-pool-82
}
}
Using the switch statement, it would look more like this:
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::host]] {
abc* { pool ss-devsp3-pool }
def* { pool ss-devsp3-pool-81 }
ghi* { pool ss-devsp3-pool-82 }
}
}