2

私のSMSスクリプトでは、このサブルーチンで送信するテキストを読みました:

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

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

このようにして、エラーに到達するまですべてをキャンセルすることによってのみエラーを修正できます。これは最後の行でのみです。私のテキストを読むためのより良い方法はありますか?

4

2 に答える 2

2

これは、入力を読み取る「通常の」方法です。

use strict;
use warnings;

# ...

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

    # do something else with $input...    

}
于 2010-03-06T16:35:07.980 に答える
1

inputサブルーチン内で while ループを使用できます。

my $is_valid = 0;
my $input; 

while (!$is_valid) {   
    print "Enter something: ";  
    $input = <>;  
    $is_valid = validate_input($input);
}      
于 2010-03-06T14:54:00.417 に答える