- 论坛徽章:
- 0
|
谢谢,
我重改了一下:
#!/usr/bin/perl -w
use strict;
our %wrong;
our $wrong;
print "================================================",
"你好,这是一个背诵软件。\n",
"made by kid\@B_Sky\n",
"================================================";
BEGIN: print "现在请选择:\n",
"1---------导入\n",
"2---------背诵\n",
"3---------退出\n";
chomp(my $choice_1 = <STDIN>);
if ($choice_1 < 1 || $choice_1 > 3){
print "请仔细看说明。\n";
}elsif($choice_1 == 1){
my @my_words_dbm = glob "\*\.dir";
if (@my_words_dbm){
print "请选择你的单词记录文件:\n",
" @my_words_dbm\n";
}else{
print "请给你的单词文件起名。\n";
}
chomp(our $my_dbm = <STDIN>);
dbmopen(my %words,"$my_dbm",0644)
or die "无法打开文件$my_dbm :$^E";
DAO_R: print "请输入单词。\n";
chomp(my $word = <STDIN>);
print "请输入意思。\n";
chomp(my $meanning = <STDIN>);
if ($words{$word} != ""){
print ("$word 已经有一个意思是:$words{$word},\n",
"现在请选择:\n",
"1---------添加\n",
"2---------修改\n"
);
chomp(my $choice_2 = <STDIN>);
if ($choice_2 < 1 || $choice_2 > 2){
print "请仔细看说明。\n";
}elsif($choice_2 == 1){
$words{$word} .= "\n $meanning";
}else{
$words{$word} = $meanning;
}
}else{
$words{$word} = $meanning;
}
print ("请选择:\n",
"1---------继续\n",
"2---------退出\n"
);
chomp(my $choice_3 = <STDIN>);
if ($choice_3 < 1 || $choice_3 > 2){
print "请仔细看说明。\n";
}elsif($choice_3 == 1){
goto DAO_R;
}else{
goto BEGIN;
}
}elsif($choice_1 == 2){
my @my_words_dbm = glob "\*\.dir";
if (@my_words_dbm){
print "请选择你的单词记录文件:\n",
" @my_words_dbm\n";
}else{
print "请给你的单词文件起名。\n";
}
chomp(our $my_dbm = <STDIN>);
dbmopen(my %words,$my_dbm,0644)
or die "无法打开文件$my_dbm:$^E ";
BEI_S: if (my ($word , $meanning) = each(%words)){
print "请问 $word 的意思是什么?\n",
"用空格将各个意思分开。\n";
if ($meanning = (<STDIN>){
print ("$word的意思就是 $meanning .\n",
"请选择: \n",
"1---------继续\n",
"2---------退出\n"
);
chomp(my $choice_4 = <STDIN>);
if ($choice_4 < 1 || $choice_4 > 2){
print "请仔细看说明。\n";
}elsif($choice_4 == 1){
goto BEI_S;
}else{
goto BEGIN;
}
}else{
print ("很遗憾,你答错了。\n",
"$word的意思是--$meanning.\n",
);
$wrong{$word} = $meanning ;
$wrong++;
}
}else{
print "已经没有单词了\n",
"你这次共答错了$wrong个单词。\n",
"要再试一试吗?\n",
"1----------yes\n",
"2----------no";
chomp(my $choice_5 = <STDIN>);
if ($choice_5 == 1){
%words = %wrong;
goto BEI_S;
}else{
goto BEGIN;
}
}
}else{
print "欢迎下次再来^_^.\n";
}
可是它还是出错。
请问怎么改?
ps:
请问这样用vim来格式化代码?
再次谢谢。 |
|