Хотелось бы сделать программу которая считает секунды в цикле, при этом слушает сокет на определённом порту, когда я telnet соединяюсь с сокетом цикл бы показывал сколько секунд он насчитал и завершался, как сделать так что бы цикл продолжал считать секунды вне зависимости от того есть соединение или нет... у меня получается только то что скрипт ожидает соединения и при соединение выводит данные но сам цикл при этом не крутиться....
Дело в том что при отсутствии соединения метод accept блокируется до тех пор пока соединение не поступит. Соответственно при отсутствии соединения цикл дальше вызова метода accept не продвинется, а продвинется лишь при установке и окончании соединения.
Проще всего раз в секунду увеличивать счетчик по сигналу таймера.
Почитайте документацию по функции alarm:
perldoc -f alarm