In Perl, how can I concisely check if a $variable is defined and contains a non zero length string?

前端 未结 9 975
名媛妹妹
名媛妹妹 2020-12-02 07:08

I currently use the following Perl to check if a variable is defined and contains text. I have to check defined first to avoid an \'uninitialized value\' warnin

9条回答
  •  南笙
    南笙 (楼主)
    2020-12-02 07:33

    The excellent library Type::Tiny provides an framework with which to build type-checking into your Perl code. What I show here is only the thinnest tip of the iceberg and is using Type::Tiny in the most simplistic and manual way.

    Be sure to check out the Type::Tiny::Manual for more information.

    use Types::Common::String qw< NonEmptyStr >;
    
    if ( NonEmptyStr->check($name) ) {
        # Do something here.
    }
    
    NonEmptyStr->($name);  # Throw an exception if validation fails
    

提交回复
热议问题