{
    "mode": "perldoc",
    "parameter": "CGI::Untaint::object",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/CGI%3A%3AUntaint%3A%3Aobject/json",
    "generated": "2026-06-13T02:40:14Z",
    "synopsis": "package MyUntaint::foo;\nuse base 'CGI::Untaint::object';\nsub untaintre {\nreturn qr/$yourregex/;\n}\nsub isvalid {\nmy $self = shift;\nreturn isok($self->value);\n}\n1;",
    "sections": {
        "NAME": {
            "content": "CGI::Untaint::object - base class for Input Handlers\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "package MyUntaint::foo;\n\nuse base 'CGI::Untaint::object';\n\nsub untaintre {\nreturn qr/$yourregex/;\n}\n\nsub isvalid {\nmy $self = shift;\nreturn isok($self->value);\n}\n\n1;\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This is the base class that all Untaint objects should inherit from.\n",
            "subsections": []
        },
        "METHODS TO SUBCLASS": {
            "content": "isvalid / untaintre\nYour subclass should either provide a regular expression in untaintre (and yes, I should\nreally make this public), or an entire isvalid method.\n",
            "subsections": []
        },
        "METHODS TO CALL": {
            "content": "value\nThis should really have been two methods, but too many other modules now rely on the fact that\nthis does double duty. As an accessor, this is the 'raw' value. As a mutator it's the extracted\none.\n\nreall / renone\nRegular expressions to match anything, or nothing, untained. These should only be used if you\nhave already validated your entry in some way that means you completely trust the data.\n\nuntainted\nAre we clean yet?\n",
            "subsections": []
        }
    },
    "summary": "CGI::Untaint::object - base class for Input Handlers",
    "flags": [],
    "examples": [],
    "see_also": []
}