Ваш коллега неправ. Это - (неконстанта) указатель на (неконстанта) указатель на константу MyStructure. И в C и в C++.
Yes to all these questions. The Eclipse IDE was vulnerable to this. It discussed in more detail here.
As with all software, you should avoid downloading and running anything from a source you do not trust. CPAN is generally trustworthy; although I am not aware of anyone intentionally releasing rogue code to CPAN, it's possible it has happened.
You can avoid running code during compile checks with the $^C flag, e.g.:
BEGIN { load_data_from_db() unless $^C; }
Обратите внимание, что иногда это функция. Блоки BEGIN внутри модулей mod_perl выполняются только один раз при их первой загрузке. Таким образом, у вас есть простой синтаксис для выполнения инициализации на уровне страницы в том же сценарии и размещения его «рядом» с кодом, которому он помогает.
Иногда он также полезен для написания сложного кода инициализации, который вы не хотите помещать в в верхней части скрипта.
Но в основном это просто для тематической совместимости с awk.