Branch Coverage

blib/lib/Mail/IMAPClient.pm
Criterion Covered Total %
branch 56 1252 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)
568 0 0 if ($auth and $auth ne 'LOGIN') { }
569 0 0 unless $self->authenticate($auth, $self->Authcallback)
576 0 0 unless defined $passwd and defined $user
582 0 0 if ($user =~ /^{/) { }
583 0 0 $passwd eq '' ? :
585 0 0 if $nopasswd
591 0 0 unless $self->_imap_command("LOGIN $user $passwd")
596 0 0 if ($self->Compress)
597 0 0 unless $self->compress
604 0 0 $self->_imap_command('NOOP') ? :
610 0 0 $self->_imap_command("PROXYAUTH $user") ? :
615 0 0 unless (defined $target)
618 0 0 unless my $ns = $self->namespace
619 0 0 if ($ns)
621 0 0 if $sep
627 0 0 if exists $self->{'separators'}{$target}
629 0 0 unless my $list = $self->list(undef, $target)
633 0 0 unless defined $rec->{'name'}
644 0 0 unless $crit =~ /^\(.*\)$/
648 0 0 if ($self->_imap_uid_command('SORT', $crit, @a))
653 0 0 unless s/^\*\s+SORT\s+//
657 0 0 wantarray ? :
662 0 0 unless defined $reference
663 0 0 unless defined $target
664 0 0 unless length $target
666 0 0 unless $target eq '*' or $target eq '""'
669 0 0 unless $self->_imap_command(qq[$cmd "$reference" $target])
672 0 0 wantarray ? :
681 0 0 unless $self->has_capability('XLIST')
693 0 0 if ($what) { }
695 0 0 unless defined $sep
697 0 0 $what =~ /\Q$sep\E$/ ? :
699 0 0 unless my $tref = $self->$method(undef, $whatsub)
705 0 0 unless defined $cansel
706 0 0 if ($cansel)
707 0 0 unless $tref = $self->$method(undef, $what)
713 0 0 unless my $tref = $self->$method(undef, undef)
720 0 0 unless defined $rec->{'name'}
721 0 0 if &first(sub { lc $_ eq '\\noselect'; } , @{$$rec{'attrs'};})
728 0 0 wantarray ? :
736 0 0 wantarray ? :
743 0 0 wantarray ? :
750 0 0 unless defined $xlist
757 0 0 unless defined $rec->{'name'}
759 0 0 if $attr =~ /$xlist_re/
763 0 0 wantarray ? :
770 0 0 wantarray ? :
778 0 0 unless $self->_imap_command("DELETEACL $target $user")
781 0 0 wantarray ? :
793 0 0 unless $self->_imap_command("SETACL $target $user $acl")
796 0 0 wantarray ? :
801 0 0 unless defined $target
803 0 0 unless $self->_imap_command("GETACL $mtarget")
809 0 0 unless $history[$x] =~ /^\* ACL/
811 0 0 $history[$x] =~ /^\* ACL $/ ? :
818 0 0 unless $perm =~ s/\s([^\s]+)\s?$//
820 0 0 unless $perm =~ s/\s([^\s]+)\s?$//
837 0 0 unless $self->_imap_command("LISTRIGHTS $target $user")
844 0 0 wantarray ? :
849 0 0 unless defined $target
854 0 0 unless $self->_imap_command("SELECT $qqtarget")
865 0 0 unless defined $self->imap4rev1
866 0 0 $self->Peek ? :
867 0 0 $self->imap4rev1 ? :
872 0 0 unless ($self->Ignoresizeerrors)
874 0 0 unless defined $expected_size
877 0 0 if (length $string != $expected_size)
892 0 0 unless ($self->imap4rev1)
893 0 0 unless $self->LastError
901 0 0 $self->Peek ? :
0 0 $bytes ? :
906 0 0 unless $self->fetch($msg, $cmd)
920 0 0 if (ref $file and ref $file ne 'SCALAR') { }
924 0 0 if ref $file eq 'SCALAR' and not defined $$file
927 0 0 unless (defined $fh)
935 0 0 unless (@msgs)
940 0 0 $self->Peek ? :
941 0 0 $self->imap4rev1 ? :
945 0 0 $self->_imap_uid_command({'outref', $fh}, 'FETCH', @args) ? :
953 0 0 unless my $ref = $self->fetch($msg, 'UID')
955 0 0 if /\(UID\s+(\d+)\s*\)$Mail::IMAPClient::CR?$/o
964 0 0 unless ($peer and $peer->IsConnected)
965 0 0 $peer ? :
0 0 $peer ? :
974 0 0 if ($self eq $peer)
979 0 0 unless defined $folder
980 0 0 unless ($folder)
985 0 0 unless ($peer->exists($folder) or $peer->create($folder))
991 0 0 if (not defined $msgs or uc $msgs eq 'ALL')
992 0 0 unless $msgs = $self->search('ALL')
1005 0 0 unless my $minfo = $self->fetch_hash($mid, @headers)
1009 0 0 unless defined $size and defined $date
1019 0 0 unless $self->message_to_file(\$msg, $mid)
1024 0 0 unless (defined $newid)
1048 0 0 if @$last5writes > 5
1052 0 0 if ($bufferavail < 0.4 * $maxwrite) { }
0 0 elsif ($bufferavail > 0.9 * $maxwrite) { }
1071 0 2 $self->Peek ? :
0 2 unless my $ref = $self->fetch($msg, 'BODY' . ($self->Peek ? '.PEEK' : '') . '[TEXT]')
1078 0 2 if $string
1086 2 2 if $head =~ /(?:.*FETCH .*\(.*BODY\[TEXT\])|(?:^\d+ BAD )|(?:^\d NO )/i
1090 0 2 unless (@$ref)
1101 2 0 if ($head =~ /BODY\[TEXT\]\s*$/i)
1103 0 2 if $self->Debug
1112 0 0 unless defined $target
1114 0 0 unless $self->_imap_command('EXAMINE ' . $self->Quote($target))
1120 0 0 unless $old
1127 0 0 $self->_imap_command('IDLE', $good) ? :
1132 0 0 scalar @_ ? :
1146 0 0 if not defined $rc or $ret < 0
1150 0 0 if ($ret > 0)
1151 0 0 unless $self->_get_response('*', qr/(?!BAD|BYE|NO)(?:\d+\s+\w+|\S+)/)
1158 0 0 if $rc < 0
1164 0 0 if ($trans_c1 < $trans_c2)
1168 0 0 wantarray ? :
1176 0 0 unless $self->_imap_command({'addtag', 0, 'tag', qr/(?:$count|DONE)/, 'doretry', 0}, 'DONE')
1185 0 0 unless $self->_imap_command(@_)
1192 0 0 if ($self->IsAuthenticated)
1198 0 0 if ($self->{'_doing_reconnect'})
1200 0 0 unless $self->LastError
1211 0 0 if ($self->connect)
1213 0 0 if (defined $self->Folder)
1214 0 0 defined $self->select($self->Folder) ? :
1219 0 0 $ret ? :
1227 0 0 ref $_[0] eq 'HASH' ? :
1237 0 0 if ($tries == 1 or $self->IsConnected)
1239 0 0 if $self->LastError
1242 0 0 if (not defined $rc and $retry and $self->IsUnconnected) { }
1245 0 0 unless $! == 32 or $! == 104 or $self->LastError =~ /(?:error\(.*?\)|timeout) waiting\b/ or $self->LastError =~ /(?:socket closed|\* BYE)\b/
1254 0 0 if ($ret) { }
0 0 elsif (defined $ret and $ret == 0) { }
1256 0 0 if exists $opt->{'doretry'} and not $opt->{'doretry'}
1263 0 0 if $self->LastError
1271 0 0 unless ($rc)
1277 0 0 if (not $self->Debug and $len > $sz * 2)
1282 0 0 if $seen{$str}++
1286 0 0 $seen{$msg} > 1 ? :
1302 0 0 ref $_[0] eq 'HASH' ? :
1303 0 0 unless my $string = shift()
1306 0 0 $opt->{'outref'} ? :
1308 0 0 unless exists $opt->{'addcrlf'}
1309 0 0 unless exists $opt->{'addtag'}
1312 0 0 if ($self->LastError)
1319 0 0 if $self->Count >= $clear and $clear > 0
1324 0 0 if $opt->{'addtag'}
1327 0 0 $string =~ /^($tag\s+APPEND\s+.*?)$Mail::IMAPClient::CR?$Mail::IMAPClient::LF/ ? :
1334 0 0 $opt->{'addcrlf'} ? :
0 0 unless ($self->_send_line($string, $opt->{'addcrlf'} ? 0 : 1))
1340 0 0 unless my $code = $self->_get_response(@gropt, $tag, $good)
1342 0 0 if ($code eq 'OK') { }
0 0 elsif ($good and $code eq $good) { }
1357 0 0 defined $tag ? :
0 0 ref $tag ? :
1358 0 0 defined $good ? :
0 0 ref $good ? :
1364 0 0 if (defined $qgood)
1365 0 0 if ($good eq '+' and $_[0] =~ /^$qgood/)
1368 0 0 if (defined $qtag and $_[0] =~ /^$qtag\s+($qgood)/i)
1369 0 0 ref $qgood ? :
1372 0 0 if (defined $qtag)
1373 0 0 if ($tag eq '+' and $_[0] =~ /^$qtag/)
1376 0 0 if ($_[0] =~ /^$qtag\s+(OK|BAD|NO)\b/i)
1378 0 0 unless $code eq 'OK'
1382 0 0 if ($_[0] =~ /^\*\s+(BYE)\b/i)
1396 0 0 ref $_[0] eq 'HASH' ? :
1401 0 0 defined $outref ? :
1406 0 0 unless my $output = $self->_read_line(@readopt)
1413 0 0 unless $self->_is_output($o)
1415 0 0 if defined $tcode
1416 0 0 if defined $tbyemsg
1420 0 0 if (defined $code) { }
0 0 elsif (not $self->LastError) { }
1422 0 0 unless $good and $code eq $good
1427 0 0 if ($code eq 'BYE')
1429 0 0 if ($byemsg)
1430 0 0 unless $good and $code eq $good
1445 0 0 ref $_[0] eq 'HASH' ? :
1448 0 0 @_ ? :
1449 0 0 $self->Uid ? :
1455 0 0 unless my $string = shift()
1457 0 0 $string =~ /^(\S+) / ? :
1458 0 0 unless ($tag)
1463 0 0 unless $self->_imap_command({'addtag', 0, 'addcrlf', 0, 'tag', $tag}, $string)
1466 0 0 unless $tag eq $self->Count
1475 0 0 if ($array->[2] =~ /^\d+ LOGIN/i and not $self->Showcredentials)
1485 0 0 if $self->Showcredentials
1492 0 0 if ($string =~ s/^($tag\s+(\S+)\s+)//)
1496 0 0 if ($cmd =~ /login/i) { }
0 0 elsif ($cmd =~ /^auth/i) { }
1499 0 0 if ($string =~ /^{/) { }
0 0 elsif ($string =~ s/^((?:"(?>(?:(?>[^"\\]+)|\\.)*)"|\S+)\s*)//) { }
1506 0 0 $string =~ /^{/ ? :
1524 0 0 unless $suppress
1528 0 0 if ($string =~ s/^([^$Mail::IMAPClient::LF\{]*\{\d+\}$Mail::IMAPClient::CRLF)(?=.)//o)
1530 0 0 if ($self->Debug)
1531 0 0 $self->IsConnected && !$self->IsAuthenticated ? :
1537 0 0 unless $self->_send_line($first)
1540 0 0 unless my $code = $self->_get_response($self->Count, '+')
1541 0 0 unless $code eq '+'
1545 0 0 if (my $prew = $self->Prewritemethod)
1549 0 0 if ($self->Debug)
1550 0 0 $self->IsConnected && !$self->IsAuthenticated ? :
1557 0 0 unless ($self->IsConnected)
1572 0 0 if $maxagain and lc $maxagain eq 'unlimited'
1581 0 0 if (defined $written)
1587 0 0 if ($! == 11)
1588 0 0 if (defined $maxagain and $temperrs++ > $maxagain)
1599 0 0 $! ? :
1600 0 0 if $! == 32 or $! == 104 or $! == 9
1629 0 0 unless ($self->IsConnected and $socket)
1642 0 0 if ($literal_callback)
1643 0 0 if (UNIVERSAL::isa($literal_callback, 'GLOB')) { }
0 0 elsif (UNIVERSAL::isa($literal_callback, 'CODE')) { }
1658 0 0 if $maxagain and lc $maxagain eq 'unlimited'
1669 0 0 if ($timeout)
1671 0 0 unless $rc > 0
1678 0 0 if ($timeout)
1679 0 0 if (defined $ret) { }
1684 0 0 if ($! == 104) { }
0 0 elsif ($! == 11) { }
1688 0 0 if (defined $maxagain and $temperrs++ >= $maxagain) { }
1698 0 0 if (defined $ret and $ret == 0)
1704 0 0 if ($emsg)
1718 0 0 unless ($current_line =~ s/\{(\d+)\}$Mail::IMAPClient::CR?$Mail::IMAPClient::LF$//o)
1739 0 0 if (length $iBuffer >= $expected_size) { }
1751 0 0 if $maxagain and lc $maxagain eq 'unlimited'
1754 0 0 if ($timeout) { }
1756 0 0 unless $rc > 0
1768 0 0 if ($timeout)
1769 0 0 if (defined $ret) { }
1774 0 0 if ($! == 104) { }
0 0 elsif ($! == 11) { }
1778 0 0 if (defined $maxagain and $temperrs++ >= $maxagain) { }
1792 0 0 if (defined $ret and $ret == 0) { }
0 0 elsif (defined $ret and $ret > 0) { }
1800 0 0 if ($literal_cbtype eq 'GLOB')
1802 0 0 unless $emsg
1806 0 0 defined $ret ? :
1811 0 0 if ($emsg)
1820 0 0 unless defined $litstring
1830 0 0 if (defined $litstring)
1831 0 0 if ($literal_cbtype eq 'GLOB') { }
0 0 elsif ($literal_cbtype eq 'CODE') { }
1839 0 0 if $literal_cbtype ne 'GLOB'
1844 0 0 if $self->Debug
1847 0 0 @$oBuffer ? :
1853 0 0 $rm ? :
1859 0 0 $rm ? :
1864 0 0 ref $_[0] eq 'HASH' ? :
1870 0 0 if $socket->isa('IO::Socket::SSL') and $socket->pending
1878 0 0 if $rc > 0
1882 0 0 exists $opt->{'error_on_timeout'} ? :
1885 0 0 unless $rc or $err_on_timeout
1889 0 0 $rc ? :
0 0 $! ? :
1906 0 0 unless $_[0]{'History'}{$_[1] or $_[0]->Transaction}
1918 0 0 unless defined $line
1923 0 0 if ($self->_is_literal($line)) { }
1929 0 0 if ($prevwasliteral) { }
1939 0 0 wantarray ? :
1950 0 0 $msg ? :
1956 0 0 wantarray ? :
1962 0 0 wantarray ? :
1974 0 0 wantarray ? :
1980 0 0 wantarray ? :
2008 0 0 if (my $sock = delete $self->{'Socket'})
2022 0 0 unless defined $resp
2026 0 0 if ($resp =~ / ^\* \s+ (?:LIST|XLIST|LSUB) \s+ # * LIST|XLIST|LSUB \( ([^\)]*) \) \s+ # (attrs) (?: \" ([^"]*) \" | NIL ) \s # "delimiter" or NIL (?:\s*\" (.*) \" | (.*) ) # "name" or name /xi)
2034 0 0 defined $3 ? :
2037 0 0 wantarray ? :
2042 0 0 $self->status($folder) ? :
2049 0 0 unless my $class = $self->_load_module('BodyStructure')
2051 0 0 unless my $out = $self->fetch($msg, 'BODYSTRUCTURE')
2056 0 0 unless ($output =~ /$Mail::IMAPClient::CRLF$/o)
2061 0 0 unless $self->_is_output_or_literal($o)
2062 0 0 if $o->[2] =~ /BODYSTRUCTURE \(/i
2063 0 0 unless $started
2065 0 0 if (length $output and $self->_is_literal($o)) { }
2094 0 0 unless my $class = $self->_load_module('BodyStructure')
2097 0 0 unless my $out = $self->fetch($msg, 'ENVELOPE')
2102 0 0 unless ($output =~ /$Mail::IMAPClient::CRLF$/o)
2107 0 0 unless $self->_is_output_or_literal($o)
2108 0 0 if $o->[2] =~ /ENVELOPE \(/i
2109 0 0 unless $started
2111 0 0 if (length $output and $self->_is_literal($o)) { }
2139 0 0 ref $_[0] eq 'HASH' ? :
2143 0 0 if ($what eq 'ALL') { }
0 0 elsif (ref $what or $what =~ /^[,:\d]+\w*$/) { }
2144 0 0 unless my $msgs = $self->messages
2156 0 0 unless $self->_imap_uid_command('FETCH', $seq, @fetch_att, @_)
2158 0 0 $opt->{'escaped'} ? :
2162 0 0 if $x != $#{$seq_set;}
2166 0 0 if ($cmd and not wantarray)
2172 0 0 wantarray ? :
2186 0 0 if ($maxl) { }
2190 0 0 $self->Uid ? :
2195 0 0 $diff > 64 ? :
2197 0 0 if defined $seq
2198 0 0 if $#seqs != 0
2203 0 0 if defined $seq
2212 0 27 ref $_[-1] ? :
2219 27 0 if (defined $words[0])
2220 27 0 if (ref $words[0]) { }
2224 0 0 if ($words[0] eq 'ALL') { }
0 0 elsif ($words[0] =~ s/^([*,:\d]+)\s*//) { }
2229 0 0 if $words[0] eq ''
2235 7 20 @words > 1 || $words[0] =~ /\s/ ? :
2240 0 27 unless my $output = $self->fetch($msgs, $what)
2246 0 27 unless $l =~ /^\*\s(\d+)\sFETCH\s\(/g
2251 42 0 if ($l =~ /\G\s*([^\s\[]+(?:\[[^\]]*\])?(?:<[^>]*>)?)\s*/cg) { }
0 0 elsif (not defined $key) { }
2255 1 41 if ($key =~ /^BODY\[HEADER\.FIELDS \("[^"]+".*?\)\]$/)
2265 8 34 if ($l =~ /\G\s*$/cg) { }
18 16 elsif ($l =~ /\G(?:"((?>(?:(?>[^"\\]+)|\\.)*))"|([^()\s]+))\s*/cg) { }
16 0 elsif ($l =~ /\G\(/cg) { }
2274 4 14 defined $1 ? :
2285 23 112 if ($stuff eq '(') { }
39 73 elsif ($stuff eq ')') { }
2291 16 23 if ($depth == 0)
2302 1 0 if ($l =~ /\G\s*$/cg and scalar @$output)
2305 1 0 length $value ? :
2319 4 23 if ($self->Uid) { }
2320 4 0 if ($entry->{'UID'}) { }
2322 2 2 unless $asked_for_uid
2333 0 27 wantarray ? :
2338 0 0 unless $self->_imap_uid_command('STORE', @a)
2340 0 0 wantarray ? :
2347 0 0 unless $self->_imap_command(join(' ', $command, $folder, @_))
2350 0 0 wantarray ? :
2359 0 0 unless $self->_imap_folder_command('DELETE', @_)
2361 0 0 wantarray ? :
2369 0 0 unless $self->_imap_command('CLOSE')
2371 0 0 wantarray ? :
2377 0 0 unless defined $folder or defined $self->Folder
2379 0 0 defined $self->Folder ? :
2381 0 0 if (not defined $folder or $folder eq $old) { }
2382 0 0 unless $self->_imap_command('EXPUNGE')
2386 0 0 unless $self->select($folder)
2390 0 0 unless $self->select($old) and $succ
2393 0 0 wantarray ? :
2399 0 0 unless $self->has_capability('UIDPLUS')
2400 0 0 unless ($self->Uid)
2405 0 0 UNIVERSAL::isa($msgspec, 'Mail::IMAPClient::MessageSet') ? :
2410 0 0 if @_
2417 0 0 unless $self->_imap_uid_command('EXPUNGE', $seq)
2423 0 0 if $x != $#{$seq_set;}
2427 0 0 if ($cmd and not wantarray)
2433 0 0 wantarray ? :
2442 0 0 $self->_imap_command("RENAME $from $to") ? :
2447 0 0 unless defined $folder
2449 0 0 @_ ? :
2452 0 0 unless $self->_imap_command("STATUS $box ($which)")
2455 0 0 wantarray ? :
2460 0 0 UNIVERSAL::isa($msgspec, 'Mail::IMAPClient::MessageSet') ? :
2465 0 0 if @_
2468 0 0 unless my $ref = $self->fetch($msg, 'FLAGS')
2476 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)
2486 0 0 $u_f ? :
2492 0 0 if ref $msgspec
2497 0 0 unless $flagsref
0 0 wantarray ? :
2504 0 0 unless my $sup = $self->Supportedflags
2507 0 0 if ref $sup eq 'CODE'
2510 0 0 /^\\(\S+)/ ? :
2516 0 0 ref $msgspec eq 'ARRAY' ? :
2517 0 0 !defined($self->Peek) || $self->Peek ? :
2519 0 0 $fields eq 'ALL' ? :
2522 0 0 unless my $raw = $self->fetch($string)
2540 0 0 if ($header =~ s/^\* \s+ (\d+) \s+ FETCH \s+ \( (.*?) BODY\[HEADER (?:\.FIELDS)? .*? \]\s*//xi)
2547 0 0 if ($self->Uid)
2548 0 0 $msgattrs =~ /\b UID \s+ (\d+)/x ? :
2550 0 0 if $msgid
2552 0 0 unless $header =~ /\S/
2555 0 0 if ($header =~ /^\)/) { }
0 0 elsif (not $msgid and $header =~ /^\s*UID\s+(\d+).*\)$/) { }
2566 0 0 unless (defined $h)
2571 0 0 if ($header and $header =~ s/^(\S+)\:\s*//) { }
0 0 elsif ($field and ref $h->{$field} eq 'ARRAY') { }
2581 0 0 unless $header =~ /^(?:\s*\"\"\)|\{\d+\})$Mail::IMAPClient::CR?$Mail::IMAPClient::LF$/o
2588 0 0 ref $msgspec eq 'ARRAY' ? :
2598 0 0 $headers ? :
2604 0 0 unless $self->status($folder, 'RECENT')
2617 0 0 unless $self->status($folder, 'MESSAGES')
2621 0 0 if $result =~ /\(MESSAGES\s+(\d+)\s*\)/i
2643 0 0 if ($time =~ /\d\d-\D\D\D-\d\d\d\d/) { }
0 0 elsif ($time =~ /^\d+$/) { }
2658 0 0 unless $self->_imap_uid_command('SEARCH', $how, $imapdate)
2665 0 0 unless s/^\*\s+SEARCH\s+//i
2669 0 0 wantarray ? :
2674 0 0 if (@what < 2)
2684 0 0 unless $self->_imap_uid_command('SEARCH', $or)
2691 0 0 unless s/^\*\s+SEARCH\s+//i
2696 0 0 wantarray ? :
2705 0 0 if (ref $v eq 'SCALAR') { }
0 0 elsif (exists $SEARCH_KEYS{uc $v}) { }
0 0 elsif (@args == 1) { }
2726 0 0 unless $self->_imap_uid_command('SEARCH', @args)
2733 0 0 unless s/^\*\s+SEARCH\s+(?=.*?\d)//
2738 0 0 unless @hits
2743 0 0 $self->Ranges ? :
0 0 !@hits ? :
0 0 wantarray ? :
2754 0 0 unless defined $self->has_capability('THREAD=REFERENCES')
2763 0 0 @_ ? :
2766 0 0 if @a > 1 and not exists $SEARCH_KEYS{uc $a[-1]}
2768 0 0 unless $self->_imap_uid_command('THREAD', $algorythm, $charset, @a)
2771 0 0 unless ($thread_parser)
2772 0 0 if defined $thread_parser and $thread_parser == 0
2775 0 0 unless ($class)
2784 0 0 unless /^\*\s+THREAD\s+/
2789 0 0 unless ($thread)
2801 0 0 ref $_ eq 'ARRAY' ? :
2803 0 0 $self->store(join(',', @msgs), '+FLAGS.SILENT', '(\\Deleted)') ? :
2810 0 0 ref $_ eq 'ARRAY' ? :
2812 0 0 unless $self->store($msgs, '-FLAGS', '(\\Deleted)')
2818 0 0 unless $self->status($folder, 'UIDVALIDITY')
2820 0 0 defined $line && $line =~ /\(UIDVALIDITY\s+([^\)]+)/ ? :
2825 0 0 unless $self->status($folder, 'UIDNEXT')
2827 0 0 defined $line && $line =~ /\(UIDNEXT\s+([^\)]+)/ ? :
2834 0 0 if ($self->{'CAPABILITY'})
2836 0 0 wantarray ? :
2839 0 0 unless $self->_imap_command('CAPABILITY')
2849 0 0 if (defined $cval)
2850 0 0 unless exists $self->{'CAPABILITY'}{$capa}
2855 0 0 wantarray ? :
2862 0 0 unless $self->capability
2866 0 0 if (exists $self->{'CAPABILITY'}{$which})
2867 0 0 if (@{$self->{'CAPABILITY'}{$which};}) { }
2875 0 0 if wantarray
2876 0 0 scalar @$aref ? :
2881 0 0 if exists $self->{'_IMAP4REV1'}
2902 0 0 unless ($self->has_capability('NAMESPACE'))
2903 0 0 unless $self->LastError
2908 0 0 unless my $got = $self->_imap_command('NAMESPACE')
2909 0 0 /^\* NAMESPACE (.*)/ ? :
2923 0 0 unless uc $_ ne 'NIL'
2932 0 0 wantarray ? :
2937 0 0 unless $self->_imap_uid_command('FETCH', $msg, 'INTERNALDATE')
2940 0 0 $hist =~ /\bINTERNALDATE "([^"]*)"/i ? :
2945 0 0 unless my $list = $self->list(undef, $folder)
2950 0 0 unless defined $rec->{'attrs'}
2951 0 0 if $attrs
2955 0 0 if ($attrs) { }
2956 0 0 if &first(sub { lc $_ eq '\\noinferiors'; } , @$attrs)
2957 0 0 if &first(sub { lc $_ eq '\\haschildren'; } , @$attrs)
2958 0 0 if &first(sub { lc $_ eq '\\hasnochildren'; } , @$attrs)
2967 0 0 unless defined $sep
2976 0 0 unless my $info = $self->list('', $f)
2988 0 0 @_ > 1 ? :
2995 0 0 unless $flags =~ /^\(.*\)$/
3002 0 0 unless $date =~ /^\s\d/
3004 0 0 unless $date =~ /^"/
3010 0 0 $flags ? :
0 0 $date ? :
3027 0 0 if ($_[2] and $maxl and length $_[2] > $maxl)
3032 0 0 defined $_[2] ? :
3035 0 0 if defined $flags
3036 0 0 if defined $date
3042 0 0 unless $self->_imap_command({'addcrlf', 0}, $cmd)
3048 0 0 $data =~ /\s+(\d+)\]/ ? :
3059 0 0 unless defined $folder and $folder ne ''
3063 0 0 if (not defined $file) { }
0 0 elsif (ref $file and ref $file ne 'SCALAR') { }
0 0 elsif (not ref $file || -f $file) { }
3078 0 0 unless open $fh, '<', $file
3082 0 0 if (@err)
3089 0 0 if defined $folder
3090 0 0 if defined $flags
3093 0 0 if ($date)
3094 0 0 if $date eq '1'
3111 0 0 unless ($rc)
3120 0 0 if ($buflen < 1048576)
3126 0 0 if $buflen >= 1048576
3131 0 0 unless $buflen
3134 0 0 $buflen > 1048576 ? :
3143 0 0 unless ($bytes_written)
3149 0 0 defined $savebuff ? :
3154 0 0 unless ($self->_send_bytes(\$Mail::IMAPClient::CRLF))
3161 0 0 unless my $code = $self->_get_response($self->Count)
3163 0 0 if ($code eq 'OK') { }
3168 0 0 $data =~ /\s+(\d+)\]/ ? :
3183 0 0 if $self->Count >= $clear and $clear > 0
3186 0 0 if (not $scheme) { }
0 0 elsif ($scheme eq 'LOGIN') { }
3198 0 0 unless $self->_imap_command($string, '+')
3205 0 0 if ($line =~ /^\+\s*(.*?)\s*$/)
3212 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') { }
3228 0 0 defined $client->Authuser ? :
3244 0 0 if defined $answer
3251 0 0 defined $client->Proxy ? :
0 0 defined $client->Password ? :
3270 0 0 if $client->Domain
3276 0 0 unless (defined $resp)
3280 0 0 unless ($self->_send_line($resp))
3289 0 0 unless my $output = $self->_read_line
3292 0 0 $o->[2] =~ /^\+\s+(.*?)\s*$/ ? :
3294 0 0 if ($code)
3295 0 0 unless ($self->_send_line(&$response($code, $self)))
3303 0 0 if ($o->[2] =~ /^$count\s+(OK|NO|BAD)\b/i) { }
0 0 elsif ($o->[2] =~ /^\*\s+BYE/) { }
3305 0 0 unless $code eq 'OK'
3315 0 0 unless $code eq 'OK'
3317 0 0 if $scheme eq 'NTLM'
3331 0 0 ref $_ ? :
0 0 $self->Ranges ? :
3333 0 0 unless $self->_imap_uid_command('COPY', $msgs, $self->Quote($target))
3342 0 0 unless s/^.*\[COPYUID\s+\d+\s+[\d:,]+\s+([\d:,]+)\].*/$1/
3343 0 0 /(\d+):(\d+)/ ? :
3346 0 0 @uids ? :
3352 0 0 unless $self->exists($target)
3356 0 0 ref $_ eq 'ARRAY' ? :
0 0 unless my $uids = $self->copy($target, map({ref $_ eq 'ARRAY' ? @$_ : $_;} @msgs))
3359 0 0 unless ($self->delete_message(@msgs))
3369 0 0 if ref $msgs[0] eq 'ARRAY'
3370 0 0 if $flag =~ /^(?:Answered|Flagged|Deleted|Seen|Draft)$/i
3373 0 0 $self->Ranges ? :
3379 0 0 if ref $msgs[0] eq 'ARRAY'
3385 0 0 if ref $msgs[0] eq 'ARRAY'
3391 0 0 if ref $msgs[0] eq 'ARRAY'
3397 0 0 if ref $msgs[0] eq 'ARRAY'
3399 0 0 if $flag =~ /^(?:Answered|Flagged|Deleted|Seen|Draft)$/i
3407 0 0 if ref $msgs[0] eq 'ARRAY'
3413 0 0 unless my $data = $self->fetch($msg, '(RFC822.SIZE)')
3419 0 0 if $line =~ /RFC822\.SIZE\s+(\d+)/
3420 0 0 if $line =~ /\* NO\b/
3423 0 0 if ($err) { }
0 0 elsif (not $self->LastError) { }
3437 0 0 defined $what ? :
3438 0 0 $self->_imap_command("GETQUOTAROOT $who") ? :
3444 0 0 defined $what ? :
3445 0 0 $self->_imap_command("GETQUOTA $who") ? :
3451 0 0 defined $what ? :
3458 0 0 $self->_imap_command("SETQUOTA $who $limits") ? :
3463 0 0 unless my $tref = $self->getquota($what)
3465 0 0 /.*STORAGE\s+\d+\s+(\d+).*\n$/ ? :
3470 0 0 unless my $tref = $self->getquota($what)
3472 0 0 /.*STORAGE\s+(\d+)\s+\d+.*\n$/ ? :
3487 0 0 if ($force or $name =~ /["\\[:^ascii:][:cntrl:]]/s) { }
0 0 elsif ($name =~ /[(){}\s%*\[\]]/s or $name eq '') { }
3501 0 0 unless $notFolder
3508 0 0 unless $self->status($folder, 'UNSEEN')
3520 0 0 if (defined $state)
3524 0 0 if $state == 2
3527 0 0 defined $self->{'State'} ? :
3538 0 0 ref $_[1] && defined $_[1][1] ? :
3541 0 0 ref $_[1] && defined $_[1][1] ? :
3544 0 0 if ref $_[1]
3547 0 0 if ref $_[1] and $_[1][1]
3553 0 0 if ref $_[1] and defined $_[1][1]
3559 0 0 if ref $_[1] and $_[1][1]
3562 0 0 if ref $_[1] and $_[1][1]
3571 0 0 UNIVERSAL::isa($targ, 'Mail::IMAPClient::MessageSet') ? :