2010-03-06 1 views
2

나는이 서브 루틴과 함께 보낼 수있는 텍스트로 읽어텍스트를 읽는 좋은 방법은 무엇입니까? 내 SMS 스크립트에서

my $input = input("Enter the input: "); 

sub input { 
    my $arg = shift; 
    print $arg if $arg; 
    print "\n "; 
    chomp(my $in = <>); 
    return $in; 
} 

이 방법 난 단지 내가 오류에 도달 할 때까지 모든 취소를 통해 오류를 수정하고이 마지막 줄 수 있습니다. 본문을 더 잘 읽을 수있는 방법이 있습니까?

+0

-1에만 입력 한 줄을 읽어 보시기 바랍니다. 게시 한 코드의 오류를 발견하거나 수정하려고 시도하지 않습니다. –

+0

모듈이 있다고 생각했습니다. 나는 validate_input 루틴을 작성했지만 어쩌면 나는 더 많은 "시스템 ('vim', $ tempfile)/$ tempfile을 읽는 것을 좋아한다. –

답변

2

이 입력 읽을 수있는 "일반적인"방법 :

use strict; 
use warnings; 

# ... 

while (my $input = <>) 
{ 
    chomp $input; 
    handle_error($input), next unless validate($input); 

    # do something else with $input...  

} 
1

input 서브 루틴 내에서 while 루프를 사용할 수 있습니다.

my $is_valid = 0; 
my $input; 

while (!$is_valid) { 
    print "Enter something: "; 
    $input = <>; 
    $is_valid = validate_input($input); 
}  
관련 문제