Имеется программа, читающая данные из файла и добавляющая их в массив:
#!/usr/bin/perl use strict; use utf8; use warnings FATAL => 'all'; use Switch; open(FILE, "+<prodazhi.txt"); binmode FILE, ":utf8"; binmode STDOUT, ":utf8"; # здесь функции, работающие с массивом while (<FILE>) { chomp; ($ id, $ name, $ serial, $ delivery, $ amount, $ cost, $ date) = split '\t'; add_new($ id, $ name, $ serial, $ delivery, $ amount, $ cost, $ date); } print 'Выберите действие'; $ _ = <STDIN>; print $ _;
(функция add_new
добавляет данные в массив)
Нужно, чтобы после вывода строки “Выберите действие” я мог ввести номер действия для выполнения определённого действия с массивом. Однако строка не выводится до тех пор, пока я не совершу ввод. Т.е. я ввожу цифру “1”, и только тогда он выводит “Введите действие1”. До этого поток вывода как будто блокируется.
Подскажите, как это можно исправить?