Seth Goodman suggested:
Enclosing the scope parameters inside parentheses:
v=spf1 (sm)+ip4:192.168.16.0/19 (ph)+ip4:192.168.20.0/24 -all
Separating multiple scope parameters by commas:
v=spf1 (s,m)+ip4:192.168.16.0/19 (p,h)+ip4:192.168.20.0/24 -all
We could also use modifiers:
v=spf1 s=sm +ip4:192.168.16.0/19 s=ph +ip4:192.168.20.0/24 s= -all
"s=sm" means "test the following mechanisms only if the scope is pra or
mail-from".
"s=ph" means "test the following mechanisms only if the scope is ptr or
helo".
"s=" resets to the default which is "all scopes".
Roger