sub untainted_string { my ($data) = @_; if ($data =~ /^([-\@\w.\\\/\s]+)$/) { $data = $1; # $data now untainted } else { die "Bad data in '$data'"; } return $data; }