Condition Coverage

blib/lib/Net/API/Telegram.pm
Criterion Covered Total %
condition 0 577 0.0


and 3 conditions

line !l l&&!r l&&r condition
152 0 0 0 $self->{'authorised_ips'} and ref $self->{'authorised_ips'} eq "ARRAY"
188 0 0 0 builtin::blessed($raw) and $raw->isa("Net::IP")
345 0 0 0 -e $file and not -w $file
449 0 0 0 builtin::blessed($msg[0]) and $msg[0]->isa("Net::API::Telegram::Message")
456 0 0 0 $self->{'logging'} and $self->{'log_file'} || $self->{'_log_io'}
526 0 0 0 $self->_is_object($obj) and not $obj->isa("Net::API::Telegram::InputFile")
732 0 0 0 $self->{'use_ssl'} and $self->{'ssl_cert'}
859 0 0 0 $check_messages_after and $msg_epoch
0 0 0 $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after
0 0 0 $msg_epoch and $msg_epoch > $start
945 0 0 0 $check_messages_after and $msg_epoch
0 0 0 $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after
0 0 0 $msg_epoch and $msg_epoch > $start
1024 0 0 0 defined $v and not $v =~ /^\d+$/
1125 0 0 0 length $opts->{'shipping_options'} and ref $opts->{'shipping_options'} ne "ARRAY"
1126 0 0 0 length $opts->{'shipping_options'} and not $self->_param_check_array_object(qr/^(?:Net::API::Telegram::ShippingOption)$/, @_)
1149 0 0 0 length $opts->{'mask_position'} and ref $opts->{'mask_position'} ne "Net::API::Telegram::MaskPosition"
1278 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1307 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1336 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1363 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1390 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1653 0 0 0 length $opts->{'allowed_updates'} and ref $opts->{'allowed_updates'} ne "ARRAY"
1839 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1840 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1867 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1868 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1917 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1944 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1945 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1970 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
2001 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
2030 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2087 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2115 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2143 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2168 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2198 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2224 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2225 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2252 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2253 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2280 0 0 0 length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2469 0 0 0 $opts->{'certificate'} and $self->{'ssl_cert'}
2470 0 0 0 length $opts->{'allowed_updates'} and ref $opts->{'allowed_updates'} ne "ARRAY"
2471 0 0 0 length $opts->{'certificate'} and ref $opts->{'certificate'} ne "Net::API::Telegram::InputFile"
2493 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
2523 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
2627 0 0 0 $pkg and $pkg =~ /^AI::Net::Stripe/
0 0 0 $pkg and $pkg =~ /^AI::Net::Stripe/ and exists $value->{'id'}
2680 0 0 0 exists $hash->{'parameters'} and ref $hash->{'parameters'} eq "HASH"
2696 0 0 0 exists $self->{$name} and builtin::blessed($self->{$name})
2736 0 0 0 exists $args->{'file'} and exists $args->{'line'}
2761 0 0 0 ref($this) =~ /Net::API::Telegram::/ and $this->can("debug")
2863 0 0 0 $hash and ref $hash ne "HASH"
2884 0 0 0 $arr and ref $arr ne "ARRAY"

or 2 conditions

line l !l condition
163 0 0 $self->{'timeout'} || 3
282 0 0 'IO::File'->new("<$file") || (return $self->error("Unable to open configuration file ${file}: $!"))
328 0 0 'IO::File'->new(">$file") || (return $self->error("Unable to write to file ${file}: $!"))
346 0 0 'IO::File'->new(">>$file") || (return $self->error(qq[Unable to open debug log file "$file" in append mode: $!]))
400 0 0 $self->{'port'} || 8443
417 0 0 'HTTP::Daemon::SSL'->new(%$params) || (return $self->error("Could not launch the HTTP daemon: $!"))
421 0 0 'HTTP::Daemon'->new(%$params) || (return $self->error("Could not launch the HTTP daemon: $!"))
465 0 0 'IO::File'->new(">>$self->{'log_file'}") || (return $self->error("Unable to open log file $self->{'log_file'} in append mode: $!"))
527 0 0 $obj->filename || 'certificate.pem'
533 0 0 $self->_load_file($data->{'certificate'}) || (return $self->error("Unable to load the ssl certificate $data->{'certificate'}"))
730 0 0 $self->{'max_connections'} || 1
925 0 0 $self->{'poll_interval'} || 10
1058 0 0 $self->_param2hash(@_) || (return undef())
1061 0 0 $self->query({'method', 'answerCallbackQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerCallbackQuery: ', $self->error->message))
1078 0 0 $self->_param2hash(@_) || (return undef())
1085 0 0 $self->query({'method', 'answerInlineQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerInlineQuery: ', $self->error->message))
1102 0 0 $self->_param2hash(@_) || (return undef())
1106 0 0 $self->query({'method', 'answerPreCheckoutQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerPreCheckoutQuery: ', $self->error->message))
1123 0 0 $self->_param2hash(@_) || (return undef())
1130 0 0 $self->query({'method', 'answerShippingQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerShippingQuery: ', $self->error->message))
1147 0 0 $self->_param2hash(@_) || (return undef())
1157 0 0 $self->query({'method', 'createNewStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method createNewStickerSet: ', $self->error->message))
1174 0 0 $self->_param2hash(@_) || (return undef())
1178 0 0 $self->query({'method', 'deleteChatPhoto', 'data', $form}) || (return $self->error('Unable to make post query for method deleteChatPhoto: ', $self->error->message))
1195 0 0 $self->_param2hash(@_) || (return undef())
1199 0 0 $self->query({'method', 'deleteChatStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method deleteChatStickerSet: ', $self->error->message))
1216 0 0 $self->_param2hash(@_) || (return undef())
1221 0 0 $self->query({'method', 'deleteMessage', 'data', $form}) || (return $self->error('Unable to make post query for method deleteMessage: ', $self->error->message))
1238 0 0 $self->_param2hash(@_) || (return undef())
1241 0 0 $self->query({'method', 'deleteStickerFromSet', 'data', $form}) || (return $self->error('Unable to make post query for method deleteStickerFromSet: ', $self->error->message))
1258 0 0 $self->_param2hash(@_) || (return undef())
1260 0 0 $self->query({'method', 'deleteWebhook', 'data', $form}) || (return $self->error('Unable to make post query for method deleteWebhook: ', $self->error->message))
1277 0 0 $self->_param2hash(@_) || (return undef())
1281 0 0 $self->query({'method', 'editMessageCaption', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageCaption: ', $self->error->message))
1291 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Error while getting an object out of hash for this message: ', $self->error))
1304 0 0 $self->_param2hash(@_) || (return undef())
1310 0 0 $self->query({'method', 'editMessageLiveLocation', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageLiveLocation: ', $self->error->message))
1320 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Error while getting an object out of hash for this message: ', $self->error))
1333 0 0 $self->_param2hash(@_) || (return undef())
1339 0 0 $self->query({'method', 'editMessageMedia', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageMedia: ', $self->error->message))
1349 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Error while getting an object out of hash for this message: ', $self->error))
1362 0 0 $self->_param2hash(@_) || (return undef())
1366 0 0 $self->query({'method', 'editMessageReplyMarkup', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageReplyMarkup: ', $self->error->message))
1376 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Error while getting an object out of hash for this message: ', $self->error))
1389 0 0 $self->_param2hash(@_) || (return undef())
1394 0 0 $self->query({'method', 'editMessageText', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageText: ', $self->error->message))
1404 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Error while getting an object out of hash for this message: ', $self->error))
1417 0 0 $self->_param2hash(@_) || (return undef())
1421 0 0 $self->query({'method', 'exportChatInviteLink', 'data', $form}) || (return $self->error('Unable to make post query for method exportChatInviteLink: ', $self->error->message))
1438 0 0 $self->_param2hash(@_) || (return undef())
1445 0 0 $self->query({'method', 'forwardMessage', 'data', $form}) || (return $self->error('Unable to make post query for method forwardMessage: ', $self->error->message))
1456 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
1464 0 0 $self->_param2hash(@_) || (return undef())
1468 0 0 $self->query({'method', 'getChat', 'data', $form}) || (return $self->error('Unable to make post query for method getChat: ', $self->error->message))
1479 0 0 $self->_response_to_object('Net::API::Telegram::Chat', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Chat object with this data returned: ', sub {
1487 0 0 $self->_param2hash(@_) || (return undef())
1491 0 0 $self->query({'method', 'getChatAdministrators', 'data', $form}) || (return $self->error('Unable to make post query for method getChatAdministrators: ', $self->error->message))
1505 0 0 $self->_response_to_object('Net::API::Telegram::ChatMember', $h) || (return $self->error('Unable to create an Net::API::Telegram::ChatMember object with this data returned: ', sub {
1515 0 0 $self->_param2hash(@_) || (return undef())
1520 0 0 $self->query({'method', 'getChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method getChatMember: ', $self->error->message))
1531 0 0 $self->_response_to_object('Net::API::Telegram::ChatMember', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::ChatMember object with this data returned: ', sub {
1539 0 0 $self->_param2hash(@_) || (return undef())
1543 0 0 $self->query({'method', 'getChatMembersCount', 'data', $form}) || (return $self->error('Unable to make post query for method getChatMembersCount: ', $self->error->message))
1560 0 0 $self->_param2hash(@_) || (return undef())
1563 0 0 $self->query({'method', 'getFile', 'data', $form}) || (return $self->error('Unable to make post query for method getFile: ', $self->error->message))
1574 0 0 $self->_response_to_object('Net::API::Telegram::File', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::File object with this data returned: ', sub {
1582 0 0 $self->_param2hash(@_) || (return undef())
1585 0 0 $self->query({'method', 'getGameHighScores', 'data', $form}) || (return $self->error('Unable to make post query for method getGameHighScores: ', $self->error->message))
1599 0 0 $self->_response_to_object('Net::API::Telegram::GameHighScore', $h) || (return $self->error('Unable to create an Net::API::Telegram::GameHighScore object with this data returned: ', sub {
1609 0 0 $self->_param2hash(@_) || (return undef())
1611 0 0 $self->query({'method', 'getMe', 'data', $form}) || (return $self->error('Unable to make post query for method getMe: ', $self->error->message))
1622 0 0 $self->_response_to_object('Net::API::Telegram::User', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::User object with this data returned: ', sub {
1630 0 0 $self->_param2hash(@_) || (return undef())
1633 0 0 $self->query({'method', 'getStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method getStickerSet: ', $self->error->message))
1644 0 0 $self->_response_to_object('Net::API::Telegram::StickerSet', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::StickerSet object with this data returned: ', sub {
1652 0 0 $self->_param2hash(@_) || (return undef())
1655 0 0 $self->query({'method', 'getUpdates', 'data', $form}) || (return $self->error('Unable to make post query for method getUpdates: ', $self->error->message))
1669 0 0 $self->_response_to_object('Net::API::Telegram::Update', $h) || (return $self->error('Unable to create an Net::API::Telegram::Update object with this data returned: ', sub {
1679 0 0 $self->_param2hash(@_) || (return undef())
1682 0 0 $self->query({'method', 'getUserProfilePhotos', 'data', $form}) || (return $self->error('Unable to make post query for method getUserProfilePhotos: ', $self->error->message))
1693 0 0 $self->_response_to_object('Net::API::Telegram::UserProfilePhotos', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::UserProfilePhotos object with this data returned: ', sub {
1701 0 0 $self->_param2hash(@_) || (return undef())
1703 0 0 $self->query({'method', 'getWebhookInfo', 'data', $form}) || (return $self->error('Unable to make post query for method getWebhookInfo: ', $self->error->message))
1714 0 0 $self->_response_to_object('Net::API::Telegram::WebhookInfo', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::WebhookInfo object with this data returned: ', sub {
1722 0 0 $self->_param2hash(@_) || (return undef())
1727 0 0 $self->query({'method', 'kickChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method kickChatMember: ', $self->error->message))
1744 0 0 $self->_param2hash(@_) || (return undef())
1748 0 0 $self->query({'method', 'leaveChat', 'data', $form}) || (return $self->error('Unable to make post query for method leaveChat: ', $self->error->message))
1765 0 0 $self->_param2hash(@_) || (return undef())
1770 0 0 $self->query({'method', 'pinChatMessage', 'data', $form}) || (return $self->error('Unable to make post query for method pinChatMessage: ', $self->error->message))
1787 0 0 $self->_param2hash(@_) || (return undef())
1792 0 0 $self->query({'method', 'promoteChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method promoteChatMember: ', $self->error->message))
1809 0 0 $self->_param2hash(@_) || (return undef())
1817 0 0 $self->query({'method', 'restrictChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method restrictChatMember: ', $self->error->message))
1834 0 0 $self->_param2hash(@_) || (return undef())
1843 0 0 $self->query({'method', 'sendAnimation', 'data', $form}) || (return $self->error('Unable to make post query for method sendAnimation: ', $self->error->message))
1854 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
1862 0 0 $self->_param2hash(@_) || (return undef())
1871 0 0 $self->query({'method', 'sendAudio', 'data', $form}) || (return $self->error('Unable to make post query for method sendAudio: ', $self->error->message))
1882 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
1890 0 0 $self->_param2hash(@_) || (return undef())
1895 0 0 $self->query({'method', 'sendChatAction', 'data', $form}) || (return $self->error('Unable to make post query for method sendChatAction: ', $self->error->message))
1912 0 0 $self->_param2hash(@_) || (return undef())
1920 0 0 $self->query({'method', 'sendContact', 'data', $form}) || (return $self->error('Unable to make post query for method sendContact: ', $self->error->message))
1931 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
1939 0 0 $self->_param2hash(@_) || (return undef())
1948 0 0 $self->query({'method', 'sendDocument', 'data', $form}) || (return $self->error('Unable to make post query for method sendDocument: ', $self->error->message))
1959 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
1967 0 0 $self->_param2hash(@_) || (return undef())
1973 0 0 $self->query({'method', 'sendGame', 'data', $form}) || (return $self->error('Unable to make post query for method sendGame: ', $self->error->message))
1984 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
1992 0 0 $self->_param2hash(@_) || (return undef())
2006 0 0 $self->query({'method', 'sendInvoice', 'data', $form}) || (return $self->error('Unable to make post query for method sendInvoice: ', $self->error->message))
2017 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2025 0 0 $self->_param2hash(@_) || (return undef())
2033 0 0 $self->query({'method', 'sendLocation', 'data', $form}) || (return $self->error('Unable to make post query for method sendLocation: ', $self->error->message))
2044 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2052 0 0 $self->_param2hash(@_) || (return undef())
2060 0 0 $self->query({'method', 'sendMediaGroup', 'data', $form}) || (return $self->error('Unable to make post query for method sendMediaGroup: ', $self->error->message))
2074 0 0 $self->_response_to_object('Net::API::Telegram::Message', $h) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2084 0 0 $self->_param2hash(@_) || (return undef())
2091 0 0 $self->query({'method', 'sendMessage', 'data', $form}) || (return $self->error('Unable to make post query for method sendMessage: ', $self->error))
2102 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2110 0 0 $self->_param2hash(@_) || (return undef())
2118 0 0 $self->query({'method', 'sendPhoto', 'data', $form}) || (return $self->error('Unable to make post query for method sendPhoto: ', $self->error->message))
2129 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2137 0 0 $self->_param2hash(@_) || (return undef())
2146 0 0 $self->query({'method', 'sendPoll', 'data', $form}) || (return $self->error('Unable to make post query for method sendPoll: ', $self->error->message))
2157 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2165 0 0 $self->_param2hash(@_) || (return undef())
2173 0 0 $self->query({'method', 'sendSticker', 'data', $form}) || (return $self->error('Unable to make post query for method sendSticker: ', $self->error->message))
2184 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2192 0 0 $self->_param2hash(@_) || (return undef())
2202 0 0 $self->query({'method', 'sendVenue', 'data', $form}) || (return $self->error('Unable to make post query for method sendVenue: ', $self->error->message))
2213 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2221 0 0 $self->_param2hash(@_) || (return undef())
2230 0 0 $self->query({'method', 'sendVideo', 'data', $form}) || (return $self->error('Unable to make post query for method sendVideo: ', $self->error->message))
2241 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2249 0 0 $self->_param2hash(@_) || (return undef())
2258 0 0 $self->query({'method', 'sendVideoNote', 'data', $form}) || (return $self->error('Unable to make post query for method sendVideoNote: ', $self->error->message))
2269 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2277 0 0 $self->_param2hash(@_) || (return undef())
2285 0 0 $self->query({'method', 'sendVoice', 'data', $form}) || (return $self->error('Unable to make post query for method sendVoice: ', $self->error->message))
2296 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Unable to create an Net::API::Telegram::Message object with this data returned: ', sub {
2304 0 0 $self->_param2hash(@_) || (return undef())
2308 0 0 $self->query({'method', 'setChatDescription', 'data', $form}) || (return $self->error('Unable to make post query for method setChatDescription: ', $self->error->message))
2325 0 0 $self->_param2hash(@_) || (return undef())
2332 0 0 $self->query({'method', 'setChatPermissions', 'data', $form}) || (return $self->error('Unable to make post query for method setChatPermissions: ', $self->error->message))
2349 0 0 $self->_param2hash(@_) || (return undef())
2356 0 0 $self->query({'method', 'setChatPhoto', 'data', $form}) || (return $self->error('Unable to make post query for method setChatPhoto: ', $self->error->message))
2373 0 0 $self->_param2hash(@_) || (return undef())
2378 0 0 $self->query({'method', 'setChatStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method setChatStickerSet: ', $self->error->message))
2395 0 0 $self->_param2hash(@_) || (return undef())
2400 0 0 $self->query({'method', 'setChatTitle', 'data', $form}) || (return $self->error('Unable to make post query for method setChatTitle: ', $self->error->message))
2417 0 0 $self->_param2hash(@_) || (return undef())
2421 0 0 $self->query({'method', 'setGameScore', 'data', $form}) || (return $self->error('Unable to make post query for method setGameScore: ', $self->error->message))
2431 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Error while getting an object out of hash for this message: ', $self->error))
2444 0 0 $self->_param2hash(@_) || (return undef())
2451 0 0 $self->query({'method', 'setPassportDataErrors', 'data', $form}) || (return $self->error('Unable to make post query for method setPassportDataErrors: ', $self->error->message))
2468 0 0 $self->_param2hash(@_) || (return undef())
2475 0 0 $self->query({'method', 'setWebhook', 'data', $form}) || (return $self->error('Unable to make post query for method setWebhook: ', $self->error->message))
2492 0 0 $self->_param2hash(@_) || (return undef())
2496 0 0 $self->query({'method', 'stopMessageLiveLocation', 'data', $form}) || (return $self->error('Unable to make post query for method stopMessageLiveLocation: ', $self->error->message))
2506 0 0 $self->_response_to_object('Net::API::Telegram::Message', $hash->{'result'}) || (return $self->error('Error while getting an object out of hash for this message: ', $self->error))
2519 0 0 $self->_param2hash(@_) || (return undef())
2526 0 0 $self->query({'method', 'stopPoll', 'data', $form}) || (return $self->error('Unable to make post query for method stopPoll: ', $self->error->message))
2536 0 0 $self->_response_to_object('Net::API::Telegram::Poll', $hash->{'result'}) || (return $self->error('Error while getting a Poll object out of hash for this message: ', $self->error))
2545 0 0 $self->_param2hash(@_) || (return undef())
2550 0 0 $self->query({'method', 'unbanChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method unbanChatMember: ', $self->error->message))
2567 0 0 $self->_param2hash(@_) || (return undef())
2571 0 0 $self->query({'method', 'unpinChatMessage', 'data', $form}) || (return $self->error('Unable to make post query for method unpinChatMessage: ', $self->error->message))
2588 0 0 $self->_param2hash(@_) || (return undef())
2594 0 0 $self->query({'method', 'uploadStickerFile', 'data', $form}) || (return $self->error('Unable to make post query for method uploadStickerFile: ', $self->error->message))
2604 0 0 $self->_response_to_object('Net::API::Telegram::File', $hash->{'result'}) || (return $self->error('Error while getting a File object out of hash for this message: ', $self->error))
2670 0 0 shift @_ || (return $self->error('No hash reference was provided to check if it contains a Telegram api error.'))
2698 0 0 $class->new('debug', $self->debug, 'verbose', $self->verbose) || (return $self->error($class->error))
2723 0 0 shift @_ || (return $self->error('No file path to load into memory was provided'))
2752 0 0 shift @_ || (return)
2847 0 0 shift @_ || (return $self->error('No pattern to check array of objects was provided.'))
2848 0 0 shift @_ || (return $self->error('No array of objects was provided.'))
2862 0 0 shift @_ || (return $self->error('No hash was provided'))
2883 0 0 shift @_ || (return $self->error('No array reference was provided'))

or 3 conditions

line l !l&&r !l&&!r condition
195 0 0 0 'Net::IP'->new($raw) || do {
452 0 0 0 $msg->chat->title || $msg->chat->username || ($msg->from ? join(' ', $msg->from->first_name, $msg->from->last_name) : 'unknown')
456 0 0 0 $self->{'log_file'} || $self->{'_log_io'}
566 0 0 0 $opts->{'encode_with_json'} or $self->encode_with_json
604 0 0 0 $hash->{'error'} // $hash
709 0 0 0 $self->{'use_ssl'} or $self->{'external_ssl'}
744 0 0 0 $self->{'_stop_daemon'} or $TIME_TO_DIE
749 0 0 0 $httpd->accept || do {
846 0 0 0 $self->_response_to_object('Net::API::Telegram::Update', $res) || do {
859 0 0 0 not $self->{'skip_past_messages'} or $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after
0 0 0 not $self->{'skip_past_messages'} or $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after or $msg_epoch and $msg_epoch > $start
930 0 0 0 $self->getUpdates('offset', $self->{'offset'}) || do {
945 0 0 0 not $self->{'skip_past_messages'} or $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after
0 0 0 not $self->{'skip_past_messages'} or $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after or $msg_epoch and $msg_epoch > $start
2640 0 0 0 ref $sv or not length $sv