[求助]一个输入输出程序close(handle0后就输出暂停需要按任意件才能继续

[求助]一个输入输出程序close(handle0后就输出暂停需要按任意件才能继续

写了一个 perl脚本 输入输出的功能 不过到 close(handle)这里程序就停住(输入暂停了不是程序停止)需要按 下 任意件才能 继续输出 有什么好办法没??

还有一个问题 就是判断 输入的 y/n的  怎么判断输入是否为一个字符(用正则表达式)请高人指点

感觉正则表达式确实够神奇和恐怖 嘿嘿

#-----Get

$i=1;
#file name
print "input the file name you want: ";
chop($file_name=<STDIN>;

#string
print "input the string you want to save: ";
chop ($save_string=<STDIN>;

#name
print "input your name: ";
chop ($name=<STDIN>;

#-----Doing
while($i==1){
$i=1;



if(!(-e $file_name)){print "The " . $file_name ." does't exist do you want Create and Save String to it?[y/n]"; }
chop($create_flag=<STDIN>;
if(length($create_flag)==1)
        {
        if($create_flag=~m/^[n|y]/){$i=0};
    }else {$i=0;$create_flag="y"};

};


#---check out create_flag

if($create_flag eq "y"
{
#-create
open(handle, ">>$file_name";
print handle ($save_string . "\n";
print handle ("By - " . $name . "\n";
close(handle);
print "Save Completed\n";
}else{
  print "you don't want to create file , So program exit \n";
   #exit the program because user doesn't want create file
};





#-----End
1. 'Press any key to continue...'的通用办法参见
http://bbs.chinaunix.net/viewthr ... hlight=%C8%CE%D2%E2
的6楼.

Windows上简便办法 system('pause');

2. 你不是已经判断了  if($create_flag=~m/^[n|y]/) 吗?
    里面的|是多余的, 可以改为 =~ /^[ny]$/i  忽略大小写