统计软件包占用空间的脚本

得益于 FreeBSD 的包管理方法,可以很容易地统计出每个软件包占用的空间大小和总大小~统计下来,总共3.9G左右,OpenOffice最大(310M左右)。通过这个还知道了最大的几个包,找到几个没用的删掉~ 空间大了不少~ #! /usr/bin/perl open(STDOUT,’| sort -n’); $sum=0; while(<STDIN>)#`pkg_info -s ‘*’`) { if (/^Pack/) { next; } unless (/for/ || /block/) { next; } if (/^Info/) { chop; /(^.*) (.*):$/; $x=$2; } else { chop; /(^\d+)/; $sum+=$1; print “$_ $x \n”; } } printf “%8d(1K-blocks) total\n”,$sum; close(STDOUT); Old Blog Link: http://computer.mblogger.cn/henryhu/posts/62323.aspx

Exercising Perl

学语言之类的,当然不能光学不练,纸上谈兵。我看了《Learning Perl》之后,打算把习题都练一遍~ 练的时候才发现,很多东西需要重新学习…… 另外,有些地方重新学了还是不能做到最好。 Perl’s motto: There’s more than one way to do it. Perl的精神:省力! 汗%…… 比方说,现在我还没有使首字母大写的好办法。现在是这样的: $a=~s/^o/O/; $a=~s/^t/T/; $a=~s/^f/F/; $a=~s/^s/S/; $a=~s/^e/E/; $a=~s/^n/N/; 等等…… 26条啊!…… 肯定有好方法的,谁知道告诉我一声…… 花了半天做到第十章。明天应该就可以搞定了……

Useful Perl

Perl – Practical Extraction and Report Language | Pathologically Eclectic Rubbish Lister,著名的工具语言。它能够通过简短的代码做到很多别的语言需要很长代码才能干到的事情,对于日常事务特别适合。 从学校里借了本《Perl入门》,Randal L. Schwartz & Larry Wall (Perl创始人)写的。看上去很旧,原来学校里也有不少人研究这个东西啊~ 学起来需要一些时间,特别是关于正则表达式的部分…… Perl是先编译后运行的,因此速度还是比较快的。现在基本上每套类Unix系统上都有Perl。 今天发现Winamp保存的播放列表用的是\,而Unix系只认/,于是就想到写个Perl程序练练。写了一会儿,又调了一会儿,改了一会儿,达到预定目标~ #! /usr/bin/perl use File::Copy; print “Please enter file name:”; $fname = ; chop($fname); if (!open(FILEIN,”$fname”)){ die “Input file not there!”;} $fout = $fname . “.tempfile”; if (!open(FILEOUT,”> $fout”)){ die “Cannot create temp file”;} …

Continue reading ‘Useful Perl’ »