use NetAddr::IP;
if (my $addr = NetAddr::IP->new($src) and $addr->within(NetAddr::IP->new('192.168.3.0/24')) {
....
}
Это, конечно, будет тривиально: перейти на поддержку IPv6, расширить подсеть разрешенного хоста, проверить несколько подсетей и т. Д.