Branch Coverage

blib/lib/Mail/IMAPClient.pm
Criterion Covered Total %
branch 56 1256 4.4


line true false branch
68 0 0 if ($err)
77 4 0 unless $self->Debug
102 1 36 @_ > 1 ? :
109 0 0 unless @_
113 0 0 if (defined $err)
119 0 0 if ($err =~ /NO not connected/)
122 0 0 if $lerr
134 0 0 unless defined $use
137 0 0 unless my $socket = $self->{'Socket'}
140 0 0 unless ($use)
142 0 0 if exists $self->{'_fcntl'}
148 0 0 if ($@)
151 0 0 unless $self->{'_fastio_warning_'}++
172 0 0 $class =~ /^\d+$/ ? :
189 1 1 $_[0] =~ /^\d+$/ ? :
194 2 2 $class =~ /^\d+$/ ? :
202 3 1 $_[0] =~ /^\d+$/ ? :
207 6 2 $class =~ /^\d+$/ ? :
224 0 0 if (not ref $_[0] and @_ == 1)
231 0 0 ref $_[0] ? :
0 0 ref $_[0] ? :
0 0 wantarray ? :
237 0 0 unless defined $clear
280 0 0 if defined $v
285 1 0 unless (exists $self->{'Fast_io'} or $self->{'Socket'} or $self->{'Rawsocket'})
290 0 1 if (my $sup = $self->{'Supportedflags'})
291 0 0 /^\\?(\S+)/ ? :
298 0 1 if ($self->Debug)
305 0 1 if $self->{'Socket'}
307 0 1 if ($self->{'Rawsocket'})
311 0 0 unless $self->{'Socket'}
314 0 1 if (not $self->{'Socket'} and $self->{'Server'})
315 0 0 unless $self->connect
324 0 0 if @_
326 0 0 $self->Timeout ? :
327 0 0 $self->Debug ? :
330 0 0 if ($self->Socketargs and ref $self->Socketargs eq 'ARRAY')
339 0 0 if ('File::Spec'->file_name_is_absolute($server)) { }
352 0 0 if ($self->Ssl) { }
354 0 0 if ref $self->Ssl eq 'ARRAY'
358 0 0 unless $ioclass
362 0 0 if ($ioclass)
367 0 0 if ($sock) { }
368 0 0 $! ? :
373 0 0 if (not $lasterr and $self->Ssl and $ioclass)
385 0 0 unless defined $sock
399 0 0 unless defined $sock
404 0 0 if $self->Keepalive
408 0 0 unless my $code = $self->_get_response('*', 'PREAUTH')
410 0 0 if ($code eq 'BYE' or $code eq 'NO') { }
0 0 elsif ($code eq 'PREAUTH') { }
419 0 0 if ($self->Starttls)
420 0 0 unless $self->starttls
423 0 0 if (defined $self->User and defined $self->Password)
424 0 0 unless $self->login
443 0 0 unless $self->_imap_command('STARTTLS')
448 0 0 unless my $ioclass = $self->_load_module('SSL')
458 0 0 $self->Starttls && ref $self->Starttls eq 'ARRAY' ? :
461 0 0 unless ($ioclass->start_SSL($sock, @sslargs))
480 0 0 unless $self->_imap_command('COMPRESS DEFLATE')
482 0 0 unless my $zcl = $self->_load_module('Compress-Zlib')
485 0 0 unless $self->Compress and ref $self->Compress eq 'ARRAY'
495 0 0 unless ($rc == $zcl->Z_OK)
502 0 0 unless ($rc == $zcl->Z_OK)
512 0 0 unless $rc != $zcl->Z_OK
515 0 0 unless ($rc == $zcl->Z_OK)
528 0 0 if length $Zbuf or length $Ibuf
537 0 0 if ($lz or not $li)
540 0 0 unless $ret or $lz
544 0 0 if ($lz)
546 0 0 unless ($rc == $zcl->Z_OK)
554 0 0 unless ($li)
578 0 0 if ($auth and $auth ne 'LOGIN') { }
579 0 0 unless $self->authenticate($auth, $self->Authcallback)
586 0 0 unless defined $passwd and defined $user
592 0 0 if ($user =~ /^{/) { }
593 0 0 $passwd eq '' ? :
595 0 0 if $nopasswd
601 0 0 unless $self->_imap_command("LOGIN $user $passwd")
606 0 0 if ($self->Compress)
607 0 0 unless $self->compress
614 0 0 $self->_imap_command('NOOP') ? :
620 0 0 $self->_imap_command("PROXYAUTH $user") ? :
625 0 0 unless (defined $target)
628 0 0 unless my $ns = $self->namespace
629 0 0 if ($ns)
631 0 0 if $sep
637 0 0 if exists $self->{'separators'}{$target}
639 0 0 unless my $list = $self->list(undef, $target)
643 0 0 unless defined $rec->{'name'}
654 0 0 unless $crit =~ /^\(.*\)$/
658 0 0 if ($self->_imap_uid_command('SORT', $crit, @a))
663 0 0 unless s/^\*\s+SORT\s+//
667 0 0 wantarray ? :
672 0 0 unless defined $reference
673 0 0 unless defined $target
674 0 0 unless length $target
676 0 0 unless $target eq '*' or $target eq '""'
679 0 0 unless $self->_imap_command(qq[$cmd "$reference" $target])
682 0 0 wantarray ? :
691 0 0 unless $self->has_capability('XLIST')
703 0 0 if ($what) { }
705 0 0 unless defined $sep
707 0 0 $what =~ /\Q$sep\E$/ ? :
709 0 0 unless my $tref = $self->$method(undef, $whatsub)
715 0 0 unless defined $cansel
716 0 0 if ($cansel)
717 0 0 unless $tref = $self->$method(undef, $what)
723 0 0 unless my $tref = $self->$method(undef, undef)
730 0 0 unless defined $rec->{'name'}
731 0 0 if &first(sub { lc $_ eq '\\noselect'; } , @{$$rec{'attrs'};})
738 0 0 wantarray ? :
746 0 0 wantarray ? :
753 0 0 wantarray ? :
760 0 0 unless defined $xlist
767 0 0 unless defined $rec->{'name'}
769 0 0 if $attr =~ /$xlist_re/
773 0 0 wantarray ? :
780 0 0 wantarray ? :
788 0 0 unless $self->_imap_command("DELETEACL $target $user")
791 0 0 wantarray ? :
803 0 0 unless $self->_imap_command("SETACL $target $user $acl")
806 0 0 wantarray ? :
811 0 0 unless defined $target
813 0 0 unless $self->_imap_command("GETACL $mtarget")
819 0 0 unless $history[$x] =~ /^\* ACL/
821 0 0 $history[$x] =~ /^\* ACL $/ ? :
828 0 0 unless $perm =~ s/\s([^\s]+)\s?$//
830 0 0 unless $perm =~ s/\s([^\s]+)\s?$//
847 0 0 unless $self->_imap_command("LISTRIGHTS $target $user")
854 0 0 wantarray ? :
859 0 0 unless defined $target
864 0 0 unless $self->_imap_command("SELECT $qqtarget")
875 0 0 unless defined $self->imap4rev1
876 0 0 $self->Peek ? :
877 0 0 $self->imap4rev1 ? :
882 0 0 unless ($self->Ignoresizeerrors)
884 0 0 unless defined $expected_size
887 0 0 if (length $string != $expected_size)
902 0 0 unless ($self->imap4rev1)
903 0 0 unless $self->LastError
911 0 0 $self->Peek ? :
0 0 $bytes ? :
916 0 0 unless $self->fetch($msg, $cmd)
930 0 0 if (ref $file and ref $file ne 'SCALAR') { }
934 0 0 if ref $file eq 'SCALAR' and not defined $$file
937 0 0 unless (defined $fh)
945 0 0 unless (@msgs)
950 0 0 $self->Peek ? :
951 0 0 $self->imap4rev1 ? :
955 0 0 $self->_imap_uid_command({'outref', $fh}, 'FETCH', @args) ? :
963 0 0 unless my $ref = $self->fetch($msg, 'UID')
965 0 0 if /\(UID\s+(\d+)\s*\)$Mail::IMAPClient::CR?$/o
974 0 0 unless ($peer and $peer->IsConnected)
975 0 0 $peer ? :
0 0 $peer ? :
984 0 0 if ($self eq $peer)
989 0 0 unless defined $folder
990 0 0 unless ($folder)
995 0 0 unless ($peer->exists($folder) or $peer->create($folder))
1001 0 0 if (not defined $msgs or uc $msgs eq 'ALL')
1002 0 0 unless $msgs = $self->search('ALL')
1015 0 0 unless my $minfo = $self->fetch_hash($mid, @headers)
1019 0 0 unless defined $size and defined $date
1029 0 0 unless $self->message_to_file(\$msg, $mid)
1034 0 0 unless (defined $newid)
1058 0 0 if @$last5writes > 5
1062 0 0 if ($bufferavail < 0.4 * $maxwrite) { }
0 0 elsif ($bufferavail > 0.9 * $maxwrite) { }
1081 0 2 $self->Peek ? :
0 2 unless my $ref = $self->fetch($msg, 'BODY' . ($self->Peek ? '.PEEK' : '') . '[TEXT]')
1088 0 2 if $string
1096 2 2 if $head =~ /(?:.*FETCH .*\(.*BODY\[TEXT\])|(?:^\d+ BAD )|(?:^\d NO )/i
1100 0 2 unless (@$ref)
1111 2 0 if ($head =~ /BODY\[TEXT\]\s*$/i)
1113 0 2 if $self->Debug
1122 0 0 unless defined $target
1124 0 0 unless $self->_imap_command('EXAMINE ' . $self->Quote($target))
1130 0 0 unless $old
1137 0 0 $self->_imap_command('IDLE', $good) ? :
1142 0 0 scalar @_ ? :
1156 0 0 if not defined $rc or $ret < 0
1160 0 0 if ($ret > 0)
1161 0 0 unless $self->_get_response('*', qr/(?!BAD|BYE|NO)(?:\d+\s+\w+|\S+)/)
1168 0 0 if $rc < 0
1174 0 0 if ($trans_c1 < $trans_c2)
1178 0 0 wantarray ? :
1186 0 0 unless $self->_imap_command({'addtag', 0, 'tag', qr/(?:$count|DONE)/, 'doretry', 0}, 'DONE')
1195 0 0 unless $self->_imap_command(@_)
1202 0 0 if ($self->IsAuthenticated)
1208 0 0 if ($self->{'_doing_reconnect'})
1210 0 0 unless $self->LastError
1221 0 0 if ($self->connect)
1223 0 0 if (defined $self->Folder)
1224 0 0 defined $self->select($self->Folder) ? :
1229 0 0 $ret ? :
1237 0 0 ref $_[0] eq 'HASH' ? :
1247 0 0 if ($tries == 1 or $self->IsConnected)
1249 0 0 if $self->LastError
1252 0 0 if (not defined $rc and $retry and $self->IsUnconnected) { }
1255 0 0 unless $! == 32 or $! == 104 or $self->LastError =~ /(?:error\(.*?\)|timeout) waiting\b/ or $self->LastError =~ /(?:socket closed|\* BYE)\b/
1264 0 0 if ($ret) { }
0 0 elsif (defined $ret and $ret == 0) { }
1266 0 0 if exists $opt->{'doretry'} and not $opt->{'doretry'}
1273 0 0 if $self->LastError
1281 0 0 unless ($rc)
1287 0 0 if (not $self->Debug and $len > $sz * 2)
1292 0 0 if $seen{$str}++
1296 0 0 $seen{$msg} > 1 ? :
1312 0 0 ref $_[0] eq 'HASH' ? :
1313 0 0 unless my $string = shift()
1316 0 0 $opt->{'outref'} ? :
1318 0 0 unless exists $opt->{'addcrlf'}
1319 0 0 unless exists $opt->{'addtag'}
1322 0 0 if ($self->LastError)
1329 0 0 if $self->Count >= $clear and $clear > 0
1334 0 0 if $opt->{'addtag'}
1337 0 0 $string =~ /^($tag\s+APPEND\s+.*?)$Mail::IMAPClient::CR?$Mail::IMAPClient::LF/ ? :
1344 0 0 $opt->{'addcrlf'} ? :
0 0 unless ($self->_send_line($string, $opt->{'addcrlf'} ? 0 : 1))
1350 0 0 unless my $code = $self->_get_response(@gropt, $tag, $good)
1352 0 0 if ($code eq 'OK') { }
0 0 elsif ($good and $code eq $good) { }
1367 0 0 defined $tag ? :
0 0 ref $tag ? :
1368 0 0 defined $good ? :
0 0 ref $good ? :
1374 0 0 if (defined $qgood)
1375 0 0 if ($good eq '+' and $_[0] =~ /^$qgood/)
1378 0 0 if (defined $qtag and $_[0] =~ /^$qtag\s+($qgood)/i)
1379 0 0 ref $qgood ? :
1382 0 0 if (defined $qtag)
1383 0 0 if ($tag eq '+' and $_[0] =~ /^$qtag/)
1386 0 0 if ($_[0] =~ /^$qtag\s+(OK|BAD|NO)\b/i)
1388 0 0 unless $code eq 'OK'
1392 0 0 if ($_[0] =~ /^\*\s+(BYE)\b/i)
1406 0 0 ref $_[0] eq 'HASH' ? :
1411 0 0 defined $outref ? :
1416 0 0 unless my $output = $self->_read_line(@readopt)
1423 0 0 unless $self->_is_output($o)
1425 0 0 if defined $tcode
1426 0 0 if defined $tbyemsg
1430 0 0 if (defined $code) { }
0 0 elsif (not $self->LastError) { }
1432 0 0 unless $good and $code eq $good
1437 0 0 if ($code eq 'BYE')
1439 0 0 if ($byemsg)
1440 0 0 unless $good and $code eq $good
1455 0 0 ref $_[0] eq 'HASH' ? :
1458 0 0 @_ ? :
1459 0 0 $self->Uid ? :
1465 0 0 unless my $string = shift()
1467 0 0 $string =~ /^(\S+) / ? :
1468 0 0 unless ($tag)
1473 0 0 unless $self->_imap_command({'addtag', 0, 'addcrlf', 0, 'tag', $tag}, $string)
1476 0 0 unless $tag eq $self->Count
1485 0 0 if ($array->[2] =~ /^\d+ LOGIN/i and not $self->Showcredentials)
1495 0 0 if $self->Showcredentials
1502 0 0 if ($string =~ s/^($tag\s+(\S+)\s+)//)
1506 0 0 if ($cmd =~ /login/i) { }
0 0 elsif ($cmd =~ /^auth/i) { }
1509 0 0 if ($string =~ /^{/) { }
0 0 elsif ($string =~ s/^((?:"(?>(?:(?>[^"\\]+)|\\.)*)"|\S+)\s*)//) { }
1516 0 0 $string =~ /^{/ ? :
1534 0 0 unless $suppress
1538 0 0 if ($string =~ s/^([^$Mail::IMAPClient::LF\{]*\{\d+\}$Mail::IMAPClient::CRLF)(?=.)//o)
1540 0 0 if ($self->Debug)
1541 0 0 $self->IsConnected && !$self->IsAuthenticated ? :
1547 0 0 unless $self->_send_line($first)
1550 0 0 unless my $code = $self->_get_response($self->Count, '+')
1551 0 0 unless $code eq '+'
1555 0 0 if (my $prew = $self->Prewritemethod)
1559 0 0 if ($self->Debug)
1560 0 0 $self->IsConnected && !$self->IsAuthenticated ? :
1567 0 0 unless ($self->IsConnected)
1582 0 0 if $maxagain and lc $maxagain eq 'unlimited'
1591 0 0 if (defined $written)
1597 0 0 if ($! == 11)
1598 0 0 if (defined $maxagain and $temperrs++ > $maxagain)
1609 0 0 $! ? :
1610 0 0 if $! == 32 or $! == 104 or $! == 9
1639 0 0 unless ($self->IsConnected and $socket)
1652 0 0 if ($literal_callback)
1653 0 0 if (UNIVERSAL::isa($literal_callback, 'GLOB')) { }
0 0 elsif (UNIVERSAL::isa($literal_callback, 'CODE')) { }
1668 0 0 if $maxagain and lc $maxagain eq 'unlimited'
1679 0 0 if ($timeout)
1681 0 0 unless $rc > 0
1688 0 0 if ($timeout)
1689 0 0 if (defined $ret) { }
1694 0 0 if ($! == 104) { }
0 0 elsif ($! == 11) { }
1698 0 0 if (defined $maxagain and $temperrs++ >= $maxagain) { }
1708 0 0 if (defined $ret and $ret == 0)
1714 0 0 if ($emsg)
1728 0 0 unless ($current_line =~ s/\{(\d+)\}$Mail::IMAPClient::CR?$Mail::IMAPClient::LF$//o)
1749 0 0 if (length $iBuffer >= $expected_size) { }
1761 0 0 if $maxagain and lc $maxagain eq 'unlimited'
1764 0 0 if ($timeout) { }
1766 0 0 unless $rc > 0
1778 0 0 if ($timeout)
1779 0 0 if (defined $ret) { }
1784 0 0 if ($! == 104) { }
0 0 elsif ($! == 11) { }
1788 0 0 if (defined $maxagain and $temperrs++ >= $maxagain) { }
1802 0 0 if (defined $ret and $ret == 0) { }
0 0 elsif (defined $ret and $ret > 0) { }
1810 0 0 if ($literal_cbtype eq 'GLOB')
1812 0 0 unless $emsg
1816 0 0 defined $ret ? :
1821 0 0 if ($emsg)
1830 0 0 unless defined $litstring
1840 0 0 if (defined $litstring)
1841 0 0 if ($literal_cbtype eq 'GLOB') { }
0 0 elsif ($literal_cbtype eq 'CODE') { }
1849 0 0 if $literal_cbtype ne 'GLOB'
1854 0 0 if $self->Debug
1857 0 0 @$oBuffer ? :
1863 0 0 $rm ? :
1869 0 0 $rm ? :
1874 0 0 ref $_[0] eq 'HASH' ? :
1880 0 0 if $socket->isa('IO::Socket::SSL') and $socket->pending
1888 0 0 if $rc > 0
1892 0 0 exists $opt->{'error_on_timeout'} ? :
1895 0 0 unless $rc or $err_on_timeout
1899 0 0 $rc ? :
0 0 $! ? :
1916 0 0 unless $_[0]{'History'}{$_[1] or $_[0]->Transaction}
1928 0 0 unless defined $line
1933 0 0 if ($self->_is_literal($line)) { }
1939 0 0 if ($prevwasliteral) { }
1949 0 0 wantarray ? :
1960 0 0 $msg ? :
1966 0 0 wantarray ? :
1972 0 0 wantarray ? :
1984 0 0 wantarray ? :
1990 0 0 wantarray ? :
2018 0 0 if (my $sock = delete $self->{'Socket'})
2032 0 0 unless defined $resp
2036 0 0 if ($resp =~ / ^\* \s+ (?:LIST|XLIST|LSUB) \s+ # * LIST|XLIST|LSUB \( ([^\)]*) \) \s+ # (attrs) (?: \" ([^"]*) \" | NIL ) \s # "delimiter" or NIL (?:\s*\" (.*) \" | (.*) ) # "name" or name /xi)
2044 0 0 defined $3 ? :
2047 0 0 wantarray ? :
2052 0 0 $self->status($folder) ? :
2059 0 0 unless my $class = $self->_load_module('BodyStructure')
2061 0 0 unless my $out = $self->fetch($msg, 'BODYSTRUCTURE')
2066 0 0 unless ($output =~ /$Mail::IMAPClient::CRLF$/o)
2071 0 0 unless $self->_is_output_or_literal($o)
2072 0 0 if $o->[2] =~ /BODYSTRUCTURE \(/i
2073 0 0 unless $started
2075 0 0 if (length $output and $self->_is_literal($o)) { }
2104 0 0 unless my $class = $self->_load_module('BodyStructure')
2107 0 0 unless my $out = $self->fetch($msg, 'ENVELOPE')
2112 0 0 unless ($output =~ /$Mail::IMAPClient::CRLF$/o)
2117 0 0 unless $self->_is_output_or_literal($o)
2118 0 0 if $o->[2] =~ /ENVELOPE \(/i
2119 0 0 unless $started
2121 0 0 if (length $output and $self->_is_literal($o)) { }
2149 0 0 ref $_[0] eq 'HASH' ? :
2153 0 0 if ($what eq 'ALL') { }
0 0 elsif (ref $what or $what =~ /^[,:\d]+\w*$/) { }
2154 0 0 unless my $msgs = $self->messages
2166 0 0 unless $self->_imap_uid_command('FETCH', $seq, @fetch_att, @_)
2168 0 0 $opt->{'escaped'} ? :
2172 0 0 if $x != $#{$seq_set;}
2176 0 0 if ($cmd and not wantarray)
2182 0 0 wantarray ? :
2196 0 0 if ($maxl) { }
2200 0 0 $self->Uid ? :
2205 0 0 $diff > 64 ? :
2207 0 0 if defined $seq
2208 0 0 if $#seqs != 0
2213 0 0 if defined $seq
2222 0 27 ref $_[-1] ? :
2229 27 0 if (defined $words[0])
2230 27 0 if (ref $words[0]) { }
2234 0 0 if ($words[0] eq 'ALL') { }
0 0 elsif ($words[0] =~ s/^([*,:\d]+)\s*//) { }
2239 0 0 if $words[0] eq ''
2245 7 20 @words > 1 || $words[0] =~ /\s/ ? :
2250 0 27 unless my $output = $self->fetch($msgs, $what)
2256 0 27 unless $l =~ /^\*\s(\d+)\sFETCH\s\(/g
2261 42 0 if ($l =~ /\G\s*([^\s\[]+(?:\[[^\]]*\])?(?:<[^>]*>)?)\s*/cg) { }
0 0 elsif (not defined $key) { }
2265 1 41 if ($key =~ /^BODY\[HEADER\.FIELDS \("[^"]+".*?\)\]$/)
2275 8 34 if ($l =~ /\G\s*$/cg) { }
18 16 elsif ($l =~ /\G(?:"((?>(?:(?>[^"\\]+)|\\.)*))"|([^()\s]+))\s*/cg) { }
16 0 elsif ($l =~ /\G\(/cg) { }
2284 4 14 defined $1 ? :
2295 23 112 if ($stuff eq '(') { }
39 73 elsif ($stuff eq ')') { }
2301 16 23 if ($depth == 0)
2312 1 0 if ($l =~ /\G\s*$/cg and scalar @$output)
2315 1 0 length $value ? :
2329 4 23 if ($self->Uid) { }
2330 4 0 if ($entry->{'UID'}) { }
2332 2 2 unless $asked_for_uid
2343 0 27 wantarray ? :
2348 0 0 unless $self->_imap_uid_command('STORE', @a)
2350 0 0 wantarray ? :
2357 0 0 unless $self->_imap_command(join(' ', $command, $folder, @_))
2360 0 0 wantarray ? :
2369 0 0 unless $self->_imap_folder_command('DELETE', @_)
2371 0 0 wantarray ? :
2379 0 0 unless $self->_imap_command('CLOSE')
2381 0 0 wantarray ? :
2387 0 0 unless defined $folder or defined $self->Folder
2389 0 0 defined $self->Folder ? :
2391 0 0 if (not defined $folder or $folder eq $old) { }
2392 0 0 unless $self->_imap_command('EXPUNGE')
2396 0 0 unless $self->select($folder)
2400 0 0 unless $self->select($old) and $succ
2403 0 0 wantarray ? :
2409 0 0 unless $self->has_capability('UIDPLUS')
2410 0 0 unless ($self->Uid)
2415 0 0 UNIVERSAL::isa($msgspec, 'Mail::IMAPClient::MessageSet') ? :
2420 0 0 if @_
2427 0 0 unless $self->_imap_uid_command('EXPUNGE', $seq)
2433 0 0 if $x != $#{$seq_set;}
2437 0 0 if ($cmd and not wantarray)
2443 0 0 wantarray ? :
2452 0 0 $self->_imap_command("RENAME $from $to") ? :
2457 0 0 unless defined $folder
2459 0 0 @_ ? :
2462 0 0 unless $self->_imap_command("STATUS $box ($which)")
2465 0 0 wantarray ? :
2470 0 0 UNIVERSAL::isa($msgspec, 'Mail::IMAPClient::MessageSet') ? :
2475 0 0 if @_
2478 0 0 unless my $ref = $self->fetch($msg, 'FLAGS')
2486 0 0 if ($line =~ /\* \s+ (\d+) \s+ FETCH \s+ # * nnn FETCH \( (?:\s* UID \s+ (\d+) \s* )? # optional: UID nnn FLAGS \s* \( (.*?) \) \s* # FLAGS (\Flag1 \Flag2) (?:\s* UID \s+ (\d+) \s* )? # optional: UID nnn \) /x)
2496 0 0 $u_f ? :
2502 0 0 if ref $msgspec
2507 0 0 unless $flagsref
0 0 wantarray ? :
2514 0 0 unless my $sup = $self->Supportedflags
2517 0 0 if ref $sup eq 'CODE'
2520 0 0 /^\\(\S+)/ ? :
2526 0 0 ref $msgspec eq 'ARRAY' ? :
2527 0 0 !defined($self->Peek) || $self->Peek ? :
2529 0 0 $fields eq 'ALL' ? :
2532 0 0 unless my $raw = $self->fetch($string)
2550 0 0 if ($header =~ s/^\* \s+ (\d+) \s+ FETCH \s+ \( (.*?) BODY\[HEADER (?:\.FIELDS)? .*? \]\s*//xi)
2557 0 0 if ($self->Uid)
2558 0 0 $msgattrs =~ /\b UID \s+ (\d+)/x ? :
2560 0 0 if $msgid
2562 0 0 unless $header =~ /\S/
2565 0 0 if ($header =~ /^\)/) { }
0 0 elsif (not $msgid and $header =~ /^\s*UID\s+(\d+).*\)$/) { }
2576 0 0 unless (defined $h)
2581 0 0 if ($header and $header =~ s/^(\S+?)\:\s*//) { }
0 0 elsif ($field and ref $h->{$field} eq 'ARRAY') { }
2591 0 0 unless $header =~ /^(?:\s*\"\"\)|\{\d+\})$Mail::IMAPClient::CR?$Mail::IMAPClient::LF$/o
2598 0 0 ref $msgspec eq 'ARRAY' ? :
2608 0 0 $headers ? :
2614 0 0 unless $self->status($folder, 'RECENT')
2627 0 0 unless $self->status($folder, 'MESSAGES')
2631 0 0 if $result =~ /\(MESSAGES\s+(\d+)\s*\)/i
2653 0 0 if ($time =~ /\d\d-\D\D\D-\d\d\d\d/) { }
0 0 elsif ($time =~ /^\d+$/) { }
2668 0 0 unless $self->_imap_uid_command('SEARCH', $how, $imapdate)
2675 0 0 unless s/^\*\s+SEARCH\s+//i
2679 0 0 wantarray ? :
2684 0 0 if (@what < 2)
2694 0 0 unless $self->_imap_uid_command('SEARCH', $or)
2701 0 0 unless s/^\*\s+SEARCH\s+//i
2706 0 0 wantarray ? :
2715 0 0 if (ref $v eq 'SCALAR') { }
0 0 elsif (exists $SEARCH_KEYS{uc $v}) { }
0 0 elsif (@args == 1) { }
2736 0 0 unless $self->_imap_uid_command('SEARCH', @args)
2743 0 0 unless s/^\*\s+SEARCH\s+(?=.*?\d)//
2748 0 0 unless @hits
2753 0 0 $self->Ranges ? :
0 0 !@hits ? :
0 0 wantarray ? :
2764 0 0 unless defined $self->has_capability('THREAD=REFERENCES')
2773 0 0 @_ ? :
2776 0 0 if @a > 1 and not exists $SEARCH_KEYS{uc $a[-1]}
2778 0 0 unless $self->_imap_uid_command('THREAD', $algorythm, $charset, @a)
2781 0 0 unless ($thread_parser)
2782 0 0 if defined $thread_parser and $thread_parser == 0
2785 0 0 unless ($class)
2794 0 0 unless /^\*\s+THREAD\s+/
2799 0 0 unless ($thread)
2811 0 0 ref $_ eq 'ARRAY' ? :
2813 0 0 $self->store(join(',', @msgs), '+FLAGS.SILENT', '(\\Deleted)') ? :
2820 0 0 ref $_ eq 'ARRAY' ? :
2822 0 0 unless $self->store($msgs, '-FLAGS', '(\\Deleted)')
2828 0 0 unless $self->status($folder, 'UIDVALIDITY')
2830 0 0 defined $line && $line =~ /\(UIDVALIDITY\s+([^\)]+)/ ? :
2835 0 0 unless $self->status($folder, 'UIDNEXT')
2837 0 0 defined $line && $line =~ /\(UIDNEXT\s+([^\)]+)/ ? :
2844 0 0 if ($self->{'CAPABILITY'})
2846 0 0 wantarray ? :
2849 0 0 unless $self->_imap_command('CAPABILITY')
2859 0 0 if (defined $cval)
2861 0 0 unless exists $self->{'CAPABILITY'}{$capa}
2866 0 0 wantarray ? :
2873 0 0 unless $self->capability
2877 0 0 if (defined $which)
2879 0 0 if (exists $self->{'CAPABILITY'}{$which})
2880 0 0 if (@{$self->{'CAPABILITY'}{$which};}) { }
2889 0 0 if wantarray
2890 0 0 scalar @$aref ? :
2895 0 0 if exists $self->{'_IMAP4REV1'}
2916 0 0 unless ($self->has_capability('NAMESPACE'))
2917 0 0 unless $self->LastError
2922 0 0 unless my $got = $self->_imap_command('NAMESPACE')
2923 0 0 /^\* NAMESPACE (.*)/ ? :
2937 0 0 unless uc $_ ne 'NIL'
2946 0 0 wantarray ? :
2951 0 0 unless $self->_imap_uid_command('FETCH', $msg, 'INTERNALDATE')
2954 0 0 $hist =~ /\bINTERNALDATE "([^"]*)"/i ? :
2959 0 0 unless my $list = $self->list(undef, $folder)
2964 0 0 unless defined $rec->{'attrs'}
2965 0 0 if $attrs
2969 0 0 if ($attrs) { }
2970 0 0 if &first(sub { lc $_ eq '\\noinferiors'; } , @$attrs)
2971 0 0 if &first(sub { lc $_ eq '\\haschildren'; } , @$attrs)
2972 0 0 if &first(sub { lc $_ eq '\\hasnochildren'; } , @$attrs)
2981 0 0 unless defined $sep
2990 0 0 unless my $info = $self->list('', $f)
3002 0 0 @_ > 1 ? :
3009 0 0 unless $flags =~ /^\(.*\)$/
3016 0 0 unless $date =~ /^\s\d/
3018 0 0 unless $date =~ /^"/
3024 0 0 $flags ? :
0 0 $date ? :
3041 0 0 if ($_[2] and $maxl and length $_[2] > $maxl)
3046 0 0 defined $_[2] ? :
3049 0 0 if defined $flags
3050 0 0 if defined $date
3056 0 0 unless $self->_imap_command({'addcrlf', 0}, $cmd)
3062 0 0 $data =~ /APPENDUID\s+\S+\s+(\d+)\]/ ? :
3073 0 0 unless defined $folder and $folder ne ''
3077 0 0 if (not defined $file) { }
0 0 elsif (ref $file and ref $file ne 'SCALAR') { }
0 0 elsif (not ref $file || -f $file) { }
3092 0 0 unless open $fh, '<', $file
3096 0 0 if (@err)
3103 0 0 if defined $folder
3104 0 0 if defined $flags
3107 0 0 if ($date)
3108 0 0 if $date eq '1'
3125 0 0 unless ($rc)
3134 0 0 if ($buflen < 1048576)
3140 0 0 if $buflen >= 1048576
3145 0 0 unless $buflen
3148 0 0 $buflen > 1048576 ? :
3157 0 0 unless ($bytes_written)
3163 0 0 defined $savebuff ? :
3168 0 0 unless ($self->_send_bytes(\$Mail::IMAPClient::CRLF))
3175 0 0 unless my $code = $self->_get_response($self->Count)
3177 0 0 if ($code eq 'OK') { }
3182 0 0 $data =~ /\s+(\d+)\]/ ? :
3197 0 0 if $self->Count >= $clear and $clear > 0
3200 0 0 if (not $scheme) { }
0 0 elsif ($scheme eq 'LOGIN') { }
3212 0 0 unless $self->_imap_command($string, '+')
3219 0 0 if ($line =~ /^\+\s*(.*?)\s*$/)
3226 0 0 if ($scheme eq 'CRAM-MD5') { }
0 0 elsif ($scheme eq 'DIGEST-MD5') { }
0 0 elsif ($scheme eq 'PLAIN') { }
0 0 elsif ($scheme eq 'NTLM') { }
3242 0 0 defined $client->Authuser ? :
3258 0 0 if defined $answer
3265 0 0 defined $client->Proxy ? :
0 0 defined $client->Password ? :
3284 0 0 if $client->Domain
3290 0 0 unless (defined $resp)
3294 0 0 unless ($self->_send_line($resp))
3303 0 0 unless my $output = $self->_read_line
3306 0 0 $o->[2] =~ /^\+\s+(.*?)\s*$/ ? :
3308 0 0 if ($code)
3309 0 0 unless ($self->_send_line(&$response($code, $self)))
3317 0 0 if ($o->[2] =~ /^$count\s+(OK|NO|BAD)\b/i) { }
0 0 elsif ($o->[2] =~ /^\*\s+BYE/) { }
3319 0 0 unless $code eq 'OK'
3329 0 0 unless $code eq 'OK'
3331 0 0 if $scheme eq 'NTLM'
3345 0 0 ref $_ ? :
0 0 $self->Ranges ? :
3347 0 0 unless $self->_imap_uid_command('COPY', $msgs, $self->Quote($target))
3356 0 0 unless s/^.*\[COPYUID\s+\d+\s+[\d:,]+\s+([\d:,]+)\].*/$1/
3357 0 0 /(\d+):(\d+)/ ? :
3360 0 0 @uids ? :
3366 0 0 unless $self->exists($target)
3370 0 0 ref $_ eq 'ARRAY' ? :
0 0 unless my $uids = $self->copy($target, map({ref $_ eq 'ARRAY' ? @$_ : $_;} @msgs))
3373 0 0 unless ($self->delete_message(@msgs))
3383 0 0 if ref $msgs[0] eq 'ARRAY'
3384 0 0 if $flag =~ /^(?:Answered|Flagged|Deleted|Seen|Draft)$/i
3387 0 0 $self->Ranges ? :
3393 0 0 if ref $msgs[0] eq 'ARRAY'
3399 0 0 if ref $msgs[0] eq 'ARRAY'
3405 0 0 if ref $msgs[0] eq 'ARRAY'
3411 0 0 if ref $msgs[0] eq 'ARRAY'
3413 0 0 if $flag =~ /^(?:Answered|Flagged|Deleted|Seen|Draft)$/i
3421 0 0 if ref $msgs[0] eq 'ARRAY'
3427 0 0 unless my $data = $self->fetch($msg, '(RFC822.SIZE)')
3433 0 0 if $line =~ /RFC822\.SIZE\s+(\d+)/
3434 0 0 if $line =~ /\* NO\b/
3437 0 0 if ($err) { }
0 0 elsif (not $self->LastError) { }
3451 0 0 defined $what ? :
3452 0 0 $self->_imap_command("GETQUOTAROOT $who") ? :
3458 0 0 defined $what ? :
3459 0 0 $self->_imap_command("GETQUOTA $who") ? :
3465 0 0 defined $what ? :
3472 0 0 $self->_imap_command("SETQUOTA $who $limits") ? :
3477 0 0 unless my $tref = $self->getquota($what)
3479 0 0 /.*STORAGE\s+\d+\s+(\d+).*\n$/ ? :
3484 0 0 unless my $tref = $self->getquota($what)
3486 0 0 /.*STORAGE\s+(\d+)\s+\d+.*\n$/ ? :
3501 0 0 if ($force or $name =~ /["\\[:^ascii:][:cntrl:]]/s) { }
0 0 elsif ($name =~ /[(){}\s%*\[\]]/s or $name eq '') { }
3515 0 0 unless $notFolder
3522 0 0 unless $self->status($folder, 'UNSEEN')
3534 0 0 if (defined $state)
3538 0 0 if $state == 2
3541 0 0 defined $self->{'State'} ? :
3552 0 0 ref $_[1] && defined $_[1][1] ? :
3555 0 0 ref $_[1] && defined $_[1][1] ? :
3558 0 0 if ref $_[1]
3561 0 0 if ref $_[1] and $_[1][1]
3567 0 0 if ref $_[1] and defined $_[1][1]
3573 0 0 if ref $_[1] and $_[1][1]
3576 0 0 if ref $_[1] and $_[1][1]
3585 0 0 UNIVERSAL::isa($targ, 'Mail::IMAPClient::MessageSet') ? :