作者 gjp [perl] 2012-04-21 12:16 (点击下载)

  1. #! /bin/env perl
  2. # text.pl -- get HTML <title>..</title>
  3.  
  4. #TODO:
  5. # * 支持在第二行处的标题:
  6. # <title>
  7. # This is title </title>
  8. # * 支持去除标题开头的空格
  9. #
  10. #
  11. #您能帮我改进一下吗?请将结果发到<gjp1120@gmail.com>
  12. #十分感谢!
  13.  
  14. use strict;
  15. use warnings;
  16.  
  17. mkdir "newfs";
  18.  
  19. my @files = glob "*.html";
  20.  
  21. foreach my $file (@files)
  22. {
  23. do_file($file);
  24. }
  25.  
  26. sub do_file
  27. {
  28. my ($file_name) = shift @_;
  29. open FD, "<$file_name";
  30.  
  31. foreach (<FD>){
  32. if (/<title>/i){
  33. chomp(my @t = split /<title>/i);
  34. $_ = $t[$#t];
  35. chomp(@t = split /</title>/i);
  36. $_ = $t[0];
  37. if(not defined $_){return;};
  38. chomp(@t = split /[-_]/i);
  39. $_ = $t[0];
  40. chomp(@t = split /[/i);
  41. $_ = $t[0];
  42.  
  43. #print $_ . "n";
  44. change_name($file_name, $_);
  45. }
  46. }
  47. close FD;
  48. }
  49.  
  50. sub change_name
  51. {
  52. (my $fn, my $nfn) = @_;
  53.  
  54. #print $nfn;
  55. rename $fn,"newfs/".$nfn.'.html';
  56. }

下面的修改已经提交:
提交下面的校正或者修改. (点击这里开始一个新的帖子)
姓名: 在 cookie 中记住我的名字

屏幕抓图:(jpeg 或 png)