作者: 藤岡和夫
日時: 2004/9/05(20:06)
On Sun, 05 Sep 2004 18:57:30 +0900
藤岡和夫 <kazuf@...> さんwrote:

> 
> On Sun, 05 Sep 2004 15:42:57 +0900
> dune <FZH01112@...> さんwrote:
> 
> > 第1版 380 件、第二版 303 件。レシピ数だけを比べると二分冊に
> > なった第二版のほうが内容が減っている。不思議だ。
> 
> while(<>){
>   $i++ if /\s\d+\.\d+[\s\.]/;
> }
> print $i,"\n";
> 
> 目次のレシピの数を数えただけですが、
> 
> 第1版 334件
> 第2版 414件
> 
> でした。原書のほうを数えています。

 日本語版のほうで数えてみました。

 hoge.plを改造させてもらいました。

use encoding "sjis", STDOUT => "sjis";

sub ext_title{
    my ($line) = @_;
    $line =~ m/(?:レシピ|プログラム)[\d\.]+[\t ](.+)/g;
    return $1;
}

# http://www.oreilly.co.jp/BOOK/pcook/contents.htm
open(FILE,"<:encoding(sjis)","Cook1Index.txt") or die;
while(<FILE>){
  if(&ext_title($_)){
      $book1{ext_title($_)} = 1;
  }
}
close FILE;

# http://www.oreilly.co.jp/BOOK/perlckbk2v2/contents.shtml
open(FILE,"<:encoding(sjis)","Cook2Index.txt") or die;
while(<FILE>){
  if(&ext_title($_)){
      $book2{ext_title($_)} = 1;
  }
}
close FILE;

foreach $key (sort keys %book1){
  if($book2{$key}){
    print "== $key\n";
    $j++;$i++;
  }else{
    print "-- $key\n";
    $i++;
  }
}
foreach $key (sort keys %book2){
  unless($book1{$key}){
    print "++ $key\n";
    $j++;
  }
}
print "第1版: ${i}件\n";
print "第2版: ${j}件\n";

藤岡 和夫
kazuf@...
TS Networkのために http://homepage1.nifty.com/kazuf/