Нужно исключить IP внутренних сетей:
192.168.0.*, 172.16.*-172.31.*, 10.*
Не получается со строкой 172.
if ( $str != '127.0.0.1' ) {
if ( !( $str =~ /^10\./ ) ) {
if ( !( $str =~ /^192\.168\.0\./ ) ) {
if ( !( $str =~ /^172\.[16-31]\./ ) ) {
...
}
}
}
}