Вы установили разделитель записи на \n>
. Это не относится к первой последовательности.
Фиксированная кодовая последовательность:
...
chomp $seq;
# for first sequence
$seq =~ s/^>//;
my ($id) = $seq =~ /^(\S+)/;
if ($id eq $lookup) {
...
Обратите внимание, что ваша реализация крайне неэффективна, поскольку она читает & amp; анализирует содержимое файла для каждого запроса. Как насчет разделения загрузки / разбора и запросов на отдельные функции?
Альтернативное решение: предоставить загрузчику полный список значений поиска. Затем он заполнил бы массив ответов при обнаружении совпадений во время чтения файла.
Существует два способа решить проблему, которую я знаю и испытанный. Согласно Вашим потребностям, один или другой могло бы быть более соответствующим (или оба, они не являются взаимоисключающими). В обоих случаях документация хороша и легко доступна.
URL Движения документируется более тщательно в Руководстве по администрированию Услуг презентаций Аналитики Oracle Business. Это предоставляет быстрый и легкий интерфейс отчетам, которые Вы уже определили, в форме URL. Все это необходимо для получения его выполнение, должно заполнить несколько параметров запроса к прямо к отчету, который Вы хотите. Вы, возможно, должны были бы включать аутентификационные маркеры также.
Сервер презентации идет с серией веб-сервисов, которые включают более программному способу запросить Ваш репозиторий. Функциональность, предлагаемая через этот канал, идет далее: например, большая часть управления каталогом, включая создание отчета и редактирование возможна. Полный список заполняет собственное руководство: Руководство веб-сервисов Аналитики Oracle Business.