Ame*_*mey 3 perl if-statement input
我接受If-Else块中的用户输入.检查代码:
if ( $svr == 1 ) {
print "Enter Datbase Name\n";
my $db = <>;
chomp($db);
} elsif ( $svr == 2 ) {
print "Enter Data Source Name (DSN)\n";
my $db = <>;
chomp($db);
}
Run Code Online (Sandbox Code Playgroud)
当我在后面的语句中引用$ db时,我收到以下错误:
"使用未初始化的值$ db"
这是我使用导致错误的$ db的语句:
my $data_source = 'DBI:mysql:' . $db . ':' . $host;
Run Code Online (Sandbox Code Playgroud)
请帮忙
第一个$db作用于"then"块,第二个$db作用于"else"块.你需要在$db之前声明var if.
my $db;
if($svr==1) {
print "Enter Datbase Name\n";
$db=<>;
chomp($db);
} elsif($svr==2) {
print "Enter Data Source Name (DSN)\n";
$db=<>;
chomp($db);
}
Run Code Online (Sandbox Code Playgroud)