2012-08-01 3 views
1

Странно, когда я выполняю код в Perl, вывод всегда появляется в левой части моей командной строки. Например.Вывод Perl отображается на левой стороне терминала?

[email protected]:~$ perl my_program 
1 2 3 4 5 [email protected]:~$ 

Как получить его, чтобы показать вывод по строке, как показано ниже?

[email protected]:~$ perl my_program 
1 2 3 4 5 
[email protected]:~$ 
+0

Вы никогда не получите, что выход (без ручного позиционирования курсора). Материал справа от приглашения - это то, что вводит пользователь. –

+0

Технически, возможно: 'perl -we 'вилка и выход; сон 1; напечатать «$ _» для 1..5; ' – Dallaylaen

ответ

10

Вам необходимо добавить новую строку (\ n) в конец ваших заявлений на печать. Например.

print "1 2 3 4 5 \n"; 
+4

+1 для успешного использования телепатии – Dallaylaen

+0

или просто используйте 'say' 1 2 3 4 5"; ' – gaussblurinc

2

Все возможно, если вы действительно знаете, что делаете.

if(0 == fork()) { 
     sleep(1); 
     print "1 2 3 4 5"; 
} 

[email protected]:/tmp$ perl print.pl 
[email protected]:/tmp$ 1 2 3 4 5 

Я сомневаюсь, что кто-то помогает, но ... Просто ответив;)

+0

Обратите внимание, что это отвечает на вопрос, который изначально был задан. Тем не менее, я задал вопрос, чтобы соответствовать принятому ответу и проголосовал за этот ответ. Я оставляю эту заметку, чтобы попытаться избежать других, которые ее отрицали. –

Смежные вопросы