2015-05-04 24 views
2
sub prompt { 
    my ($query) = @_; # take a prompt string as argument 
    local $| = 1; # activate autoflush to immediately show the prompt 
    print $query; 
    chomp(my $answer = <STDIN>); 
    return $answer; 
} 


sub prompt_yn { 
    my ($query) = @_; 
    my $answer = prompt("$query (Y/N): "); 
    return lc($answer) eq 'y'; 
} 


if (prompt_yn("Do you want to start a process")){ 
    my $list1 = prompt("Enter ID:\n"); 
    my $list2 = prompt("Enter Name:\n"); 

    print $list1; 
    print $list2; 
    ## $list1 and $list2 will be used in the code here.. 
    #... 
    #..... 
} 

我要一遍又一遍重複if塊的內容,每個如果我按y的(Y/N)它完成時再次提示。如何重複使用提示代碼在Perl腳本

回答

2

更換

if (prompt_yn("Do you want to start a process")){ 

while (prompt_yn("Do you want to start a process")){ 

+0

該表示while循環繼續到是的。 – Pratiksha

+0

是的,它會重複循環,而答案是'y' –

+0

我是新的perl所以,你。 – Pratiksha