Я написал скрипт perl, который открывает два файла, которые содержат списки. Я хочу найти элементы в первом списке, которые не во втором списке. Скрипт использует две петли foreach. Внешний цикл проходит через каждую строку первого списка, извлекая необходимую информацию об элементе. Внутренний цикл проходит через второй список, извлекает информацию о позиции, а затем сравнивает эту информацию с элементом в первом списке.Вложенный цикл foreach в perl только цикл один раз
Итак, идея состоит в том, что для каждого элемента в первом списке скрипт будет проходить через все элементы во втором списке, ища совпадения. Проблема в том, что внутренний цикл foreach только петли один раз. У меня была такая же проблема в PHP, когда мы перебирали таблицы MySQL во вложенных циклах. Решением было сбросить индекс данных mysql с помощью mysql_data_seek для каждой итерации внешнего цикла. Как я могу сделать это в perl с помощью дескрипторов файлов?
Можете ли вы разместить код, объясняющий, что вы сейчас делаете? – azatoth
Если вы покажете свой код, люди смогут указать, что не так. Без этого люди могут только спекулировать, и вы просто тратите свое (и ваше) время. –
Без кода я не могу ответить, но, скорее всего, вы повторно используете что-то во внутреннем цикле из внешнего цикла, например, дескриптор файла или счетчик циклов. –