荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzZzz (zzZzz), 信区: InstallBBS
标  题: LosTemple 精华区显示脚本(转寄)
发信站: 荔园晨风BBS站 (Thu Apr 25 13:59:44 2002), 转信

【 以下文字转载自 zzZzz 的信箱 】
【 原文由 jjksam@bbs.edu.cn 所发表 】
发信人: Altmayer.bbs@lostemple.dhs.org (alt), 信区: BBSMan_Dev
标  题: LosTemple 精华区显示脚本
发信站: 失落的神殿 (Wed Apr 17 12:31:10 2002)
转信站: SMTH!thunews.dhs.org!news.happynet.org!LosTemple

这个脚本是显示精华区的索引, 运行 ./dirtree.pl boardpath
每个文件的 title 有些特殊设置:

if title 含 [推荐] { [推荐] 显示为粉红色 }
if 是目录 {
    显示为蓝色 ;
    if title 含 [专集] { 不列此目录内容, [专集] 显示为红色 }
    if title 含 [杂牌] { 不列此目录内容, [杂牌] 显示为黄色 }
    if title 含 [N] { 不列此目录内容, [N] 显示为..色 }
    //这几个设置是为了避免索引太胖, 有些标题没信息量的, 版主屏蔽掉它
}

$ cat dirtree.pl
#!/usr/bin/perl

#dirtree.pl yourdir
#write by wind@lostemple.dhs.org
#         Altmayer@lostemple.dhs.org
#                                       2002.04.17

#@flag=("┣","━","┗","┳","┃");
$/ = "#\n";
print("^[[1;0;37;41m本版精华区索引^[[m\n");
dirlist($ARGV[0], "┣━",FD);

sub dirlist(){
        my $dir=$_[0];
        my $pre=$_[1];
        my $fd=$_[2];

        open($fd,"<$dir/.Names") || die "hehefaint cant find the file";
        my $newline=<$fd> || die "empty file";
        while($pre=~/┣/){
                my @array=split(/\n/,$newline,-1);
                $newline=<$fd> || $pre=~tr/┣/┗/;
                my $name=$array[0];
                if($name =~ m/(Name)=(.*)/){
                        my $title=$2;
                        my $path=$array[1];
                        $path =~ m/(Path)=~\/(.*)/;
                        my $file=$2;
                        $title=~s/\[推荐\]/^[\[1;35m\[推荐\]^[\[m/;
                        if(-d "$dir/$file"){
                                $title="^[[1;34m$title^[[m";
                                if(     $title=~s/\[专集\]/^[\[1;31m\[专集\]/||
                                        $title=~s/\[杂牌\]/^[\[1;33m\[杂牌\]/||
                                        $title=~s/\[N\]/^[\[1;36m\[N\]/){
                                        print("$pre$title\n");
                                }
                                else{
                                        $newpre=$pre;
                                        $newpre=~tr/━/┳/;
                                        print("$newpre","$title\n");
                                        $newpre="$pre";
                                        $newpre=~tr/┣┗━/┃  ┣/;
                                        $newpre="$newpre━";
                                        dirlist("$dir/$file","$newpre","$fd1");
                                }
                        }
                        else{
                                print("$pre$title\n");
                        }
                }
        }
        close($fd);
}
--
※ 来源:·失落的神殿 lostemple.dhs.org·[FROM: 失落的神殿]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店