#!/usr/bin/perl # perlfuncをサクラエディタのキーワードヘルプ辞書に整形 # written by Nickle 2005/5/21 # つかいかた # perldoc -t perlfunc | ./pd2khp.pl > perl.khp while(<>) { next if (1 .. /^\s*Alphabetical Listing of Perl Functions/); if(/^\s{4}(\w+)/) { @funcname = @help = (); # 関数プロトタイプ LOOP: { do { last if(!/^\s{4}((\w+).*)/); push(@funcname, $2); push(@help, $1); } while(<>); } # 説明文 LOOP: { do { last if(/^\s{4}(\w+)/); s/^\s{4}//; push(@help, $_); } while(<>); } @funcname = uniq(@funcname); s/\r|\n// foreach(@help); s/\\n/¥n/g foreach(@help); # \nで改行されてしまうのに対処 \\nではだめらしいのでしかたなく push(@help, $e) if($e = pop(@help)); # 最後の要素が空行なら削除 print(join(",", @funcname) . " /// " . join("\\n", @help) . "\n"); # 次の行を既に読んでしまってるので redo; } } # ソートされてなくても大丈夫 sub uniq() { my %saw; return grep(!$saw{$_}++, @_); }