专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Perl/Python

关于正则表达式解决方法

发布时间:2011-06-29 20:10:53 文章来源:www.iduyao.cn 采编人员:星星草
关于正则表达式
大家好,我写了一段读取相应目录下文件的程序,当读取到空行时,切换到工作目录,读取它的文件。但是执行到第12行出现了问题:
首先系统输出:Please enter the directory: 
之后输入空格然后回车。
系统提示:
Argument "\n" isn't numeric in multiplication (*) at ./Ex13_3 line 12, <STDIN>
  line 3 (#1)
Use of chdir('') or chdir(undef) as chdir() is deprecated at ./Ex13_3 line 18,
  <STDIN> line 3 (#2)
readdir() attempted on invalid dirhandle DH at ./Ex13_3 line 21, <STDIN> line 3 (#3)

closedir() attempted on invalid dirhandle DH at ./Ex13_3 line 26, <STDIN> line
  3 (#4

具体源码如下:

Perl code

      1 #!/usr/bin/perl -w
      2 use strict;
      3 use diagnostics;
      4 
      5 my $dir;
      6 my $file;
      7 print "Please enter the directory: \n";
      8 while(defined($dir=<STDIN>))
      9 {
     10   chomp($dir);
     11 
     12   if($dir =~ /^/s*$/)
     13   {
     14     chdir or die "can not chdir to your home: $! \n";
     15   }
     16   else
     17   {
     18     if(chdir $dir)
     19     {
     20       opendir DH, $dir;
     21       foreach $file (readdir DH)
     22       {
     23         print "one file in $dir is $file \n";
     24       }
     25       print "\n";
     26       closedir DH;
     27     }
     28     else
     29     {
     30       print "can not chdir to $dir: $! \n";
     31     }
     32   }
     33 
     34 
     35   print "Please enter the directory: \n";
     36 }



请问这个问题是什么原因引起的呢?
谢谢!

------解决方案--------------------
/s改成\s
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: