2013-02-20 4 views
-6

Как можно сделать цикл while w8 до того, как пользователь поставит somting во вход?while loop и input (<>) Perl

$var = <>; 
while(1){ 
somting $var; 
} 
+12

'<>' allwayz w8s. Ур qeschun dont mak sens. – Amadan

+1

Может быть, Hellena - кошка (lol)?! =) –

+0

Не работает ... Пока цикл делает некоторые другие вещи до ввода ввода :( – Hellena

ответ

4

Попробуйте сделать это:

use strict; use warnings; 

print "type something >>> "; 
chomp(my $var = <STDIN>); 

while(1){ 
    print "type something from within the LoOp >>> "; 
    chomp($var = <STDIN>); 
    print "$var\n"; 
} 

enter image description here

+0

Не работает ... Пока цикл некоторые другие вещи, прежде чем я помещал ввод :( – Hellena

+0

Может быть, сначала прочитал на STDIN? -_- –

+0

+1 для вашего ответа, и я бы хотел добавить еще один для изображения neko! – Kenosis

3

Я не совсем уверен, что вы спрашиваете, так вот мои две попытки ..

Если вы имеете в виду держать в ожидании пока пользователь не вводит начальное значение, то:

my $var = <>; 

должен работать нормально.

Если вы хотите постоянно получать ввод в цикле, я хотел бы сделать:

while(my $var = <>){ 
    something($var); 
} 

Для более глубокий взгляд на это, я рекомендую this link.

+0

Мне нужно, чтобы пользователь мог ввести патч в какой-либо файл домой/hellena/Desktop/some.txt – Hellena

+0

Исходя из предположения, что вы хотите, чтобы пользователь вводил путь к файлу, это нормально, если они вводят его как строку :) Есть ли что-то не работающее? Попробуйте объяснить ошибки, которые происходят –