公告

<2025年1月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

  • 随笔 - 9
  • 文章 - 13
  • 评论 - 3
  • 引用 - 0

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

Perl===遍历目录
看了几天perl,写一个小程序
##############################
#      Date: 06/09/13
#     Author:me    
#     Program:All over an path you enter
##############################
#!c:/perl/bin/perl #-w


print "enter the complete path:";
$cin_t = <STDIN>;
chomp $cin_t;

our @stack;   #保存文件夹目录名。

&EnumDir($cin_t);
#######################################
sub EnumDir
{
    
    
@dir_f = @_;
    
my @struct_dirs;
    
my $path = join(//, @dir_f);    #数组转化为标量。
    #print "$path \n";

    print "[Files in Directory $path] \n";
    
$ret_b = opendir(HFILE, $path);
    
die "open dir error $!" if(!$ret_b);
    
@file_s = readdir(HFILE);

    
    
    
for($count = 0$count<@file_s$count++)
    {
        
#print "$count \n";
                
        
if($file_s[$count=~ m/\./ )              #打印文件;
        {
            
            
if($file_s[$count=~ m/^\.\.?$/ )  #过滤. 和..;
            {
                
next;
            }
            
print "$file_s[$count] \n";            
        }
        
#///////////////////////////#
        else
        {
            
print "$file_s[$count] \n";        #打印文件夹并压栈;
            $subdir_t = $file_s[$count];
            
$subdir = "$path/$subdir_t";
            
            
&PushDirs($subdir);
            
        }

    }
    
    
closedir(HFILE);    
    
$sub_dir = &PopDirs();
    
#die "no dir " if($sub_dir =0);
    &EnumDir($sub_dir);    
    


}
##############################
sub PushDirs       #目录名压栈。
{
    
my @dir_fs = @_;
    
    
my $path_fs = join(//, @dir_fs);
    
push (@stack, $path_fs);
}
#-----------------------
sub PopDirs           #取一个目录名。
{
    
$size = @stack;
    
if($size != 0)
    {
    
$buf_pop = pop(@stack);
        
return $buf_pop;    
    }
    
die "nofile empty";
        
}

posted on 2006-09-13 14:53 blues 阅读(917) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理