Это никогда не случайно, это просто шаблон, который вы не узнаете. Если вы посмотрите на документацию, описывающую реализацию какой-либо функции, которую вы используете для чтения каталога, вероятно, она скажет что-то вроде: не гарантирует порядок чтения файлов.
Если они вам нужны в определенном порядке, сортируйте имена, прежде чем оперировать ими.
Файлы, вероятно, читаются в порядке, удобном для базовой файловой системы. Таким образом, в некотором смысле, файлы упорядочены, но не в том порядке, в котором вы ожидаете (размер или алфавит). Иногда файлы имеют внутренний числовой идентификатор, и файлы могут быть возвращены в числовом порядке с указанным идентификатором. Но с этим идентификатором вы, вероятно, не встретитесь часто, если когда-либо.
Опять же, результаты упорядочены, а не случайны. Они просто в том порядке, которого вы не ожидаете. Если вы хотите, чтобы они были заказаны, закажите их явно.
Смотри также: http://www.perlmonks.org/?node_id=175864