use strict; use warnings; use Regexp::Common qw/net/; use Data::Validate::Domain qw(is_domain); my $form = 'This is my form stuff.'; while ( my $input = ) { chomp $input; my $results = ( $input =~ /$RE{net}{IPv4}/ or is_domain($input) ) ? $input : $form; print "Input: $input; Results: $results\n"; } __DATA__ 66.39.54.27 perlmonks.com 555.666.777.999 192.168.0.1 %^&.#@!.com #### Input: 66.39.54.27; Results: 66.39.54.27 Input: ; Results: This is my form stuff. Input: perlmonks.com; Results: perlmonks.com Input: 555.666.777.999; Results: This is my form stuff. Input: 192.168.0.1; Results: 192.168.0.1 Input: %^&.#@!.com; Results: This is my form stuff.