+ -
当前位置:首页 → 问答吧 → [glob操作问题]名字带空格的文件夹

[glob操作问题]名字带空格的文件夹

时间:2010-08-08

来源:互联网

本帖最后由 paktc 于 2010-08-08 12:32 编辑

是这样的, 我想获得当前所有文件夹里面的文件信息
  1. #!/usr/bin/perl
  2. foreach (glob "*") {
  3.    if (-d $_) {
  4.         print "Folder : $_\n";
  5.         foreach $file (glob "./$_/*") {print "$file\n";}
  6.    }
  7. }
复制代码
但是有一个文件夹[a x b] 内的文件 却无法正常读取,屏幕显示:
Folder : a x b
./a
x
貌似是给空格分开了, 这是glob无法解决的问题吗? 路径中空格就一定会被分割。

现在我也只能用chdir先进入子文件夹再读取文件列表了。
  1. #!/usr/bin/perl
  2. foreach (glob "*") {
  3.    if (-d $_) {
  4.         print "Folder:$_\n";
  5.         chdir "$_";
  6.         foreach $file (glob "*") {print "$file\n";}
  7.         chdir "../";
  8.    }
  9. }
复制代码
对于判断什么的,不知不觉漏掉一个文件夹,可是很危险的事情阿。

作者: paktc   发布时间: 2010-08-08

不关glob的事情,自己想想字符串替换是怎么回事
  1.   foreach $file (glob "./'$_'/*") {print "$file\n";}
复制代码

作者: churchmice   发布时间: 2010-08-08

作者: 黑色阳光_cu   发布时间: 2010-08-08