taint mode is an optional perl option that says - treat user input as untrustworthy. This stops you using any "corrupted" variables, such as those read directly from STDIN or ENV in certain functions, because it is dangerous.
A typical example of using exploits for code injection: 
What does taint mode do? It forces sanitation to run before using untrusted input in a risky way.
untainting is simple - all you need to do is apply a regular expression filter to the source data so that any “dangerous” metacharacters are Excluded. (It should be noted that perl does not actually know what is "dangerous" and what is not - it is assumed that you are not an idiot and simply "coordinate" everything)
This will result in an error:
#!/usr/bin/env perl -T use strict; use warnings; my $tainted = $ENV{'USERNAME'}; system ( "echo $tainted" );
Because I pass an unreliable variable to the "system", and it may have inline code insertion.
Unsafe dependency in the system while working with the -T switch in
(He may also complain about the unsafe path)
So in order to free myself, I need to sanitize. Reasonable sanitation will be: the username should only be alphanumeric:
#!/usr/bin/env perl -T use strict; use warnings; $ENV{'PATH'} = '/bin';
And since I used a regular expression - perl assumes that I did not do something unscrupulous (e.g., (.*) ) And thus takes into account data that is not used.
Why is it important? Well, it depends on what your parser does. It is not uncommon for parsers - by nature - to get "broken" by invalid input. See Above, for example, where escaping some embedded SQL bypasses validation.
In your particular case:
Taint mode is optional. You should use it when you receive untrusted input (for example, from potentially malicious users), but this may be more of a problem than it costs for your own use.
HTML filtering to check length and character set is probably reasonable. For example, by checking this "ascii-compatible character encoding" .
In principle, although I think that you are too thinking about what a scuff check is - this is not an exhaustive check method - this is a security system. All he does is make sure that you have done some basic sanitation before missing user input into an unsafe mechanism. This is to stop funny gotchas, like the one I drew - most of them can be caught with a simple regular expression.
If you know about the problem and don’t worry about malicious user entries, then I don’t think you need to worry too much. There will be enough white character, and then make out.