I like this post very much, but the following is opaque to me for some reason:
"Case 3: The ':DEFAULT' tag *should* export &func1 so you might expect the error here to concern a missing &func2. In fact Perl complains about &func1. Hmm, what is going on here. The DEFAULT tag name is special and is automatically set in our modules %EXPORT_TAGS hash like this DEFAULT => \@EXPORT."
I confess I still don't know what is going on here, and am wondering if someone can help me out.
The words "is automatically set in our modules %EXPORT_TAGS hash like this DEFAULT => \@EXPORT" seem inaccurate to me, since when I look up at the code for MyModule.pm, I see the line
%EXPORT_TAGS = ( DEFAULT => qw(&func1),
and not the line
%EXPORT_TAGS = ( DEFAULT => \@EXPORT,
Is the OP saying that the line as is in the MyModule.pm code is incorrect, because the "special" nature of DEFAULT overrides it with something else?
Thanks. I feel I am blanking on something obvious here, but just can't see it this rainy morning.