My initial suspicion was that this had to do with the imports, if only because this module does something different than the vanilla use and Exporter stuff. Sure enough, the documentation for the module which does the actual work of loading other modules (Module::Load) states the following:
Module::Load cannot do implicit imports, only explicit imports. (in other words, you always have to specify explicitly what you wish to import from a module, even if the functions are in that modules' @EXPORT)
Therefore, for you to have access to decode_base64, you have to explicitly specify that you want that sub imported from MIME::Base64. Unfortunately, the code which does the load in Module::Load::Conditional doesn't specify any explicit exports, and it isn't structured to allow this (see line 481 of the source of Module::Load::Conditional):
eval { load $mod };
The explicit imports would be a second argument to load, but none is passed here. Therefore, this solution as it stands won't work for you. You'll either need to patch the module to support explicit exports, submit the bug to the module maintainer, or use the fully qualified sub name MIME::Base64::decode_base64 in your code.

In reply to Re: A mystery of conditional loading by bellaire
in thread A mystery of conditional loading by Llew_Llaw_Gyffes

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.