Condition Coverage

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


and 3 conditions

line !l l&&!r l&&r condition
154 0 0 0 $self->{'authorised_ips'} and ref $self->{'authorised_ips'} eq 'ARRAY'
191 0 0 0 &Scalar::Util::blessed($raw) and $raw->isa('Net::IP')
350 0 0 0 -e $file and not -w $file
459 0 0 0 &Scalar::Util::blessed($msg[0]) and $msg[0]->isa('Net::API::Telegram::Message')
466 0 0 0 $self->{'logging'} and $self->{'log_file'} || $self->{'_log_io'}
753 0 0 0 $self->{'use_ssl'} and $self->{'ssl_cert'}
888 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
984 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
1068 0 0 0 defined $v and not $v =~ /^\d+$/
1170 0 0 0 length $opts->{'shipping_options'} and ref $opts->{'shipping_options'} ne 'ARRAY'
1171 0 0 0 length $opts->{'shipping_options'} and not $self->_param_check_array_object(qr/^(?:Net::API::Telegram::ShippingOption)$/, @_)
1194 0 0 0 length $opts->{'mask_position'} and ref $opts->{'mask_position'} ne 'Net::API::Telegram::MaskPosition'
1323 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
1352 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
1381 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
1408 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
1435 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
1698 0 0 0 length $opts->{'allowed_updates'} and ref $opts->{'allowed_updates'} ne 'ARRAY'
1884 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)$/
1885 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1912 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)$/
1913 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1962 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)$/
1989 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)$/
1990 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2015 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
2046 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
2075 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)$/
2132 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)$/
2160 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)$/
2188 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)$/
2213 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)$/
2243 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)$/
2269 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)$/
2270 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2297 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)$/
2298 0 0 0 length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2325 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)$/
2514 0 0 0 $opts->{'certificate'} and $self->{'ssl_cert'}
2515 0 0 0 length $opts->{'allowed_updates'} and ref $opts->{'allowed_updates'} ne 'ARRAY'
2516 0 0 0 length $opts->{'certificate'} and ref $opts->{'certificate'} ne 'Net::API::Telegram::InputFile'
2538 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
2568 0 0 0 length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne 'Net::API::Telegram::InlineKeyboardMarkup'
2672 0 0 0 $pkg and $pkg =~ /^AI::Net::Stripe/
0 0 0 $pkg and $pkg =~ /^AI::Net::Stripe/ and exists $value->{'id'}
2726 0 0 0 exists $hash->{'parameters'} and ref $hash->{'parameters'} eq 'HASH'
2743 0 0 0 exists $self->{$name} and &Scalar::Util::blessed($self->{$name})
2783 0 0 0 exists $args->{'file'} and exists $args->{'line'}
2809 0 0 0 ref($this) =~ /Net::API::Telegram::/ and $this->can('debug')
2919 0 0 0 $hash and ref $hash ne 'HASH'
2940 0 0 0 $arr and ref $arr ne 'ARRAY'

or 2 conditions

line l !l condition
166 0 0 $self->{'timeout'} || 3
290 0 0 'IO::File'->new("<$file") || (return $self->error("Unable to open configuration file ${file}: $!"))
333 0 0 'IO::File'->new(">$file") || (return $self->error("Unable to write to file ${file}: $!"))
351 0 0 'IO::File'->new(">>$file") || (return $self->error(qq[Unable to open debug log file "$file" in append mode: $!]))
406 0 0 $self->{'port'} || 8443
424 0 0 'HTTP::Daemon::SSL'->new(%$params) || (return $self->error("Could not launch the HTTP daemon: $!"))
429 0 0 'HTTP::Daemon'->new(%$params) || (return $self->error("Could not launch the HTTP daemon: $!"))
475 0 0 'IO::File'->new(">>$self->{'log_file'}") || (return $self->error("Unable to open log file $self->{'log_file'} in append mode: $!"))
539 0 0 $obj->filename || 'certificate.pem'
545 0 0 $self->_load_file($data->{'certificate'}) || (return $self->error("Unable to load the ssl certificate $data->{'certificate'}"))
751 0 0 $self->{'max_connections'} || 1
960 0 0 $self->{'poll_interval'} || 10
1103 0 0 $self->_param2hash(@_) || (return undef())
1106 0 0 $self->query({'method', 'answerCallbackQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerCallbackQuery: ', $self->error->message))
1123 0 0 $self->_param2hash(@_) || (return undef())
1130 0 0 $self->query({'method', 'answerInlineQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerInlineQuery: ', $self->error->message))
1147 0 0 $self->_param2hash(@_) || (return undef())
1151 0 0 $self->query({'method', 'answerPreCheckoutQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerPreCheckoutQuery: ', $self->error->message))
1168 0 0 $self->_param2hash(@_) || (return undef())
1175 0 0 $self->query({'method', 'answerShippingQuery', 'data', $form}) || (return $self->error('Unable to make post query for method answerShippingQuery: ', $self->error->message))
1192 0 0 $self->_param2hash(@_) || (return undef())
1202 0 0 $self->query({'method', 'createNewStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method createNewStickerSet: ', $self->error->message))
1219 0 0 $self->_param2hash(@_) || (return undef())
1223 0 0 $self->query({'method', 'deleteChatPhoto', 'data', $form}) || (return $self->error('Unable to make post query for method deleteChatPhoto: ', $self->error->message))
1240 0 0 $self->_param2hash(@_) || (return undef())
1244 0 0 $self->query({'method', 'deleteChatStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method deleteChatStickerSet: ', $self->error->message))
1261 0 0 $self->_param2hash(@_) || (return undef())
1266 0 0 $self->query({'method', 'deleteMessage', 'data', $form}) || (return $self->error('Unable to make post query for method deleteMessage: ', $self->error->message))
1283 0 0 $self->_param2hash(@_) || (return undef())
1286 0 0 $self->query({'method', 'deleteStickerFromSet', 'data', $form}) || (return $self->error('Unable to make post query for method deleteStickerFromSet: ', $self->error->message))
1303 0 0 $self->_param2hash(@_) || (return undef())
1305 0 0 $self->query({'method', 'deleteWebhook', 'data', $form}) || (return $self->error('Unable to make post query for method deleteWebhook: ', $self->error->message))
1322 0 0 $self->_param2hash(@_) || (return undef())
1326 0 0 $self->query({'method', 'editMessageCaption', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageCaption: ', $self->error->message))
1336 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))
1349 0 0 $self->_param2hash(@_) || (return undef())
1355 0 0 $self->query({'method', 'editMessageLiveLocation', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageLiveLocation: ', $self->error->message))
1365 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))
1378 0 0 $self->_param2hash(@_) || (return undef())
1384 0 0 $self->query({'method', 'editMessageMedia', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageMedia: ', $self->error->message))
1394 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))
1407 0 0 $self->_param2hash(@_) || (return undef())
1411 0 0 $self->query({'method', 'editMessageReplyMarkup', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageReplyMarkup: ', $self->error->message))
1421 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))
1434 0 0 $self->_param2hash(@_) || (return undef())
1439 0 0 $self->query({'method', 'editMessageText', 'data', $form}) || (return $self->error('Unable to make post query for method editMessageText: ', $self->error->message))
1449 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))
1462 0 0 $self->_param2hash(@_) || (return undef())
1466 0 0 $self->query({'method', 'exportChatInviteLink', 'data', $form}) || (return $self->error('Unable to make post query for method exportChatInviteLink: ', $self->error->message))
1483 0 0 $self->_param2hash(@_) || (return undef())
1490 0 0 $self->query({'method', 'forwardMessage', 'data', $form}) || (return $self->error('Unable to make post query for method forwardMessage: ', $self->error->message))
1501 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 { $self->dumper($h); } ))
1509 0 0 $self->_param2hash(@_) || (return undef())
1513 0 0 $self->query({'method', 'getChat', 'data', $form}) || (return $self->error('Unable to make post query for method getChat: ', $self->error->message))
1524 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 { $self->dumper($h); } ))
1532 0 0 $self->_param2hash(@_) || (return undef())
1536 0 0 $self->query({'method', 'getChatAdministrators', 'data', $form}) || (return $self->error('Unable to make post query for method getChatAdministrators: ', $self->error->message))
1550 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 { $self->dumper($h); } ))
1560 0 0 $self->_param2hash(@_) || (return undef())
1565 0 0 $self->query({'method', 'getChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method getChatMember: ', $self->error->message))
1576 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 { $self->dumper($h); } ))
1584 0 0 $self->_param2hash(@_) || (return undef())
1588 0 0 $self->query({'method', 'getChatMembersCount', 'data', $form}) || (return $self->error('Unable to make post query for method getChatMembersCount: ', $self->error->message))
1605 0 0 $self->_param2hash(@_) || (return undef())
1608 0 0 $self->query({'method', 'getFile', 'data', $form}) || (return $self->error('Unable to make post query for method getFile: ', $self->error->message))
1619 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 { $self->dumper($h); } ))
1627 0 0 $self->_param2hash(@_) || (return undef())
1630 0 0 $self->query({'method', 'getGameHighScores', 'data', $form}) || (return $self->error('Unable to make post query for method getGameHighScores: ', $self->error->message))
1644 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 { $self->dumper($h); } ))
1654 0 0 $self->_param2hash(@_) || (return undef())
1656 0 0 $self->query({'method', 'getMe', 'data', $form}) || (return $self->error('Unable to make post query for method getMe: ', $self->error->message))
1667 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 { $self->dumper($h); } ))
1675 0 0 $self->_param2hash(@_) || (return undef())
1678 0 0 $self->query({'method', 'getStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method getStickerSet: ', $self->error->message))
1689 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 { $self->dumper($h); } ))
1697 0 0 $self->_param2hash(@_) || (return undef())
1700 0 0 $self->query({'method', 'getUpdates', 'data', $form}) || (return $self->error('Unable to make post query for method getUpdates: ', $self->error->message))
1714 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 { $self->dumper($h); } ))
1724 0 0 $self->_param2hash(@_) || (return undef())
1727 0 0 $self->query({'method', 'getUserProfilePhotos', 'data', $form}) || (return $self->error('Unable to make post query for method getUserProfilePhotos: ', $self->error->message))
1738 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 { $self->dumper($h); } ))
1746 0 0 $self->_param2hash(@_) || (return undef())
1748 0 0 $self->query({'method', 'getWebhookInfo', 'data', $form}) || (return $self->error('Unable to make post query for method getWebhookInfo: ', $self->error->message))
1759 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 { $self->dumper($h); } ))
1767 0 0 $self->_param2hash(@_) || (return undef())
1772 0 0 $self->query({'method', 'kickChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method kickChatMember: ', $self->error->message))
1789 0 0 $self->_param2hash(@_) || (return undef())
1793 0 0 $self->query({'method', 'leaveChat', 'data', $form}) || (return $self->error('Unable to make post query for method leaveChat: ', $self->error->message))
1810 0 0 $self->_param2hash(@_) || (return undef())
1815 0 0 $self->query({'method', 'pinChatMessage', 'data', $form}) || (return $self->error('Unable to make post query for method pinChatMessage: ', $self->error->message))
1832 0 0 $self->_param2hash(@_) || (return undef())
1837 0 0 $self->query({'method', 'promoteChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method promoteChatMember: ', $self->error->message))
1854 0 0 $self->_param2hash(@_) || (return undef())
1862 0 0 $self->query({'method', 'restrictChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method restrictChatMember: ', $self->error->message))
1879 0 0 $self->_param2hash(@_) || (return undef())
1888 0 0 $self->query({'method', 'sendAnimation', 'data', $form}) || (return $self->error('Unable to make post query for method sendAnimation: ', $self->error->message))
1899 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 { $self->dumper($h); } ))
1907 0 0 $self->_param2hash(@_) || (return undef())
1916 0 0 $self->query({'method', 'sendAudio', 'data', $form}) || (return $self->error('Unable to make post query for method sendAudio: ', $self->error->message))
1927 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 { $self->dumper($h); } ))
1935 0 0 $self->_param2hash(@_) || (return undef())
1940 0 0 $self->query({'method', 'sendChatAction', 'data', $form}) || (return $self->error('Unable to make post query for method sendChatAction: ', $self->error->message))
1957 0 0 $self->_param2hash(@_) || (return undef())
1965 0 0 $self->query({'method', 'sendContact', 'data', $form}) || (return $self->error('Unable to make post query for method sendContact: ', $self->error->message))
1976 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 { $self->dumper($h); } ))
1984 0 0 $self->_param2hash(@_) || (return undef())
1993 0 0 $self->query({'method', 'sendDocument', 'data', $form}) || (return $self->error('Unable to make post query for method sendDocument: ', $self->error->message))
2004 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 { $self->dumper($h); } ))
2012 0 0 $self->_param2hash(@_) || (return undef())
2018 0 0 $self->query({'method', 'sendGame', 'data', $form}) || (return $self->error('Unable to make post query for method sendGame: ', $self->error->message))
2029 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 { $self->dumper($h); } ))
2037 0 0 $self->_param2hash(@_) || (return undef())
2051 0 0 $self->query({'method', 'sendInvoice', 'data', $form}) || (return $self->error('Unable to make post query for method sendInvoice: ', $self->error->message))
2062 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 { $self->dumper($h); } ))
2070 0 0 $self->_param2hash(@_) || (return undef())
2078 0 0 $self->query({'method', 'sendLocation', 'data', $form}) || (return $self->error('Unable to make post query for method sendLocation: ', $self->error->message))
2089 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 { $self->dumper($h); } ))
2097 0 0 $self->_param2hash(@_) || (return undef())
2105 0 0 $self->query({'method', 'sendMediaGroup', 'data', $form}) || (return $self->error('Unable to make post query for method sendMediaGroup: ', $self->error->message))
2119 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 { $self->dumper($h); } ))
2129 0 0 $self->_param2hash(@_) || (return undef())
2136 0 0 $self->query({'method', 'sendMessage', 'data', $form}) || (return $self->error('Unable to make post query for method sendMessage: ', $self->error->message))
2147 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 { $self->dumper($h); } ))
2155 0 0 $self->_param2hash(@_) || (return undef())
2163 0 0 $self->query({'method', 'sendPhoto', 'data', $form}) || (return $self->error('Unable to make post query for method sendPhoto: ', $self->error->message))
2174 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 { $self->dumper($h); } ))
2182 0 0 $self->_param2hash(@_) || (return undef())
2191 0 0 $self->query({'method', 'sendPoll', 'data', $form}) || (return $self->error('Unable to make post query for method sendPoll: ', $self->error->message))
2202 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 { $self->dumper($h); } ))
2210 0 0 $self->_param2hash(@_) || (return undef())
2218 0 0 $self->query({'method', 'sendSticker', 'data', $form}) || (return $self->error('Unable to make post query for method sendSticker: ', $self->error->message))
2229 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 { $self->dumper($h); } ))
2237 0 0 $self->_param2hash(@_) || (return undef())
2247 0 0 $self->query({'method', 'sendVenue', 'data', $form}) || (return $self->error('Unable to make post query for method sendVenue: ', $self->error->message))
2258 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 { $self->dumper($h); } ))
2266 0 0 $self->_param2hash(@_) || (return undef())
2275 0 0 $self->query({'method', 'sendVideo', 'data', $form}) || (return $self->error('Unable to make post query for method sendVideo: ', $self->error->message))
2286 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 { $self->dumper($h); } ))
2294 0 0 $self->_param2hash(@_) || (return undef())
2303 0 0 $self->query({'method', 'sendVideoNote', 'data', $form}) || (return $self->error('Unable to make post query for method sendVideoNote: ', $self->error->message))
2314 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 { $self->dumper($h); } ))
2322 0 0 $self->_param2hash(@_) || (return undef())
2330 0 0 $self->query({'method', 'sendVoice', 'data', $form}) || (return $self->error('Unable to make post query for method sendVoice: ', $self->error->message))
2341 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 { $self->dumper($h); } ))
2349 0 0 $self->_param2hash(@_) || (return undef())
2353 0 0 $self->query({'method', 'setChatDescription', 'data', $form}) || (return $self->error('Unable to make post query for method setChatDescription: ', $self->error->message))
2370 0 0 $self->_param2hash(@_) || (return undef())
2377 0 0 $self->query({'method', 'setChatPermissions', 'data', $form}) || (return $self->error('Unable to make post query for method setChatPermissions: ', $self->error->message))
2394 0 0 $self->_param2hash(@_) || (return undef())
2401 0 0 $self->query({'method', 'setChatPhoto', 'data', $form}) || (return $self->error('Unable to make post query for method setChatPhoto: ', $self->error->message))
2418 0 0 $self->_param2hash(@_) || (return undef())
2423 0 0 $self->query({'method', 'setChatStickerSet', 'data', $form}) || (return $self->error('Unable to make post query for method setChatStickerSet: ', $self->error->message))
2440 0 0 $self->_param2hash(@_) || (return undef())
2445 0 0 $self->query({'method', 'setChatTitle', 'data', $form}) || (return $self->error('Unable to make post query for method setChatTitle: ', $self->error->message))
2462 0 0 $self->_param2hash(@_) || (return undef())
2466 0 0 $self->query({'method', 'setGameScore', 'data', $form}) || (return $self->error('Unable to make post query for method setGameScore: ', $self->error->message))
2476 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))
2489 0 0 $self->_param2hash(@_) || (return undef())
2496 0 0 $self->query({'method', 'setPassportDataErrors', 'data', $form}) || (return $self->error('Unable to make post query for method setPassportDataErrors: ', $self->error->message))
2513 0 0 $self->_param2hash(@_) || (return undef())
2520 0 0 $self->query({'method', 'setWebhook', 'data', $form}) || (return $self->error('Unable to make post query for method setWebhook: ', $self->error->message))
2537 0 0 $self->_param2hash(@_) || (return undef())
2541 0 0 $self->query({'method', 'stopMessageLiveLocation', 'data', $form}) || (return $self->error('Unable to make post query for method stopMessageLiveLocation: ', $self->error->message))
2551 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))
2564 0 0 $self->_param2hash(@_) || (return undef())
2571 0 0 $self->query({'method', 'stopPoll', 'data', $form}) || (return $self->error('Unable to make post query for method stopPoll: ', $self->error->message))
2581 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))
2590 0 0 $self->_param2hash(@_) || (return undef())
2595 0 0 $self->query({'method', 'unbanChatMember', 'data', $form}) || (return $self->error('Unable to make post query for method unbanChatMember: ', $self->error->message))
2612 0 0 $self->_param2hash(@_) || (return undef())
2616 0 0 $self->query({'method', 'unpinChatMessage', 'data', $form}) || (return $self->error('Unable to make post query for method unpinChatMessage: ', $self->error->message))
2633 0 0 $self->_param2hash(@_) || (return undef())
2639 0 0 $self->query({'method', 'uploadStickerFile', 'data', $form}) || (return $self->error('Unable to make post query for method uploadStickerFile: ', $self->error->message))
2649 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))
2715 0 0 shift @_ || (return $self->error('No hash reference was provided to check if it contains a Telegram api error.'))
2745 0 0 $class->new('debug', $self->debug, 'verbose', $self->verbose) || (return $self->error($class->error))
2770 0 0 shift @_ || (return $self->error('No file path to load into memory was provided'))
2799 0 0 shift @_ || (return)
2903 0 0 shift @_ || (return $self->error('No pattern to check array of objects was provided.'))
2904 0 0 shift @_ || (return $self->error('No array of objects was provided.'))
2918 0 0 shift @_ || (return $self->error('No hash was provided'))
2939 0 0 shift @_ || (return $self->error('No array reference was provided'))

or 3 conditions

line l !l&&r !l&&!r condition
198 0 0 0 'Net::IP'->new($raw) || do { warn "Warning only: IP '${raw}' is not valid: ", 'Net::IP'->Error, "\n"; push @$err, sprintf("IP '${raw}' is not valid: %s", 'Net::IP'->Error); return '' }
462 0 0 0 $msg->chat->title || $msg->chat->username || ($msg->from ? join(' ', $msg->from->first_name, $msg->from->last_name) : 'unknown')
466 0 0 0 $self->{'log_file'} || $self->{'_log_io'}
580 0 0 0 $opts->{'encode_with_json'} or $self->encode_with_json
623 0 0 0 $hash->{'error'} // $hash
728 0 0 0 $self->{'use_ssl'} or $self->{'external_ssl'}
765 0 0 0 $self->{'_stop_daemon'} or $TIME_TO_DIE
770 0 0 0 $httpd->accept || do { $self->log("Unable to accept queries on tcp port $self->{'port'}"); next if $! == 4; warn "Error on accept: $!\n"; next }
873 0 0 0 $self->_response_to_object('Net::API::Telegram::Update', $res) || do { $self->message(1, 'Error trying to instantiate object Net::API::Telegram::Update: ', $self->error->message); $self->error('Could not create a Net::API::Telegram::Update with following data: ' . $self->dumper($res)); $client->send_response('HTTP::Response'->new(500)); next }
888 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
966 0 0 0 $self->getUpdates('offset', $self->{'offset'}) || do { $self->error('Error while trying to get update: ', $self->error->message); sleep 1; next }
984 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
2685 0 0 0 ref $sv or not length $sv