Как мне написать тест на Perl, чтобы увидеть, был ли мой файл запущен напрямую или импортирован из какого-то другого источника? Я хотел бы сделать это, чтобы упростить объединение всего в один файл, но при этом писать модульные тесты для функций. Моя идея состоит в том, чтобы иметь что-то вроде этого:
if (running_directly()) {
main();
}
def main {
this();
that();
}
def this {
# ...
}
def that {
# ...
}
Затем в отдельном скрипте Perl я могу загрузить исходный файл и вызвать его и это как модульные тесты.
Я помню, как это делал раньше, но не могу вспомнить, как это сделать. Я бы не хотел проверять $ 0 на какое-то известное значение, потому что это означает, что пользователь не может переименовать скрипт.