Auto Complete ModeのPerl辞書を作ってみた

EmacsのAuto Complete Modeはデフォルトでいくつかの辞書が用意されているんですが,何故かPerlは用意されていません.
ってことで作成しました.ここの内容そのまんまみたいなもんなんですが…

1. 次のようなスクリプトを作成します.

mkdict.pl

#!/usr/bin/perl

my $n = 1;  # 何文字以上の関数を登録するか

while (<STDIN>) {
    last if /__DATA__/;
}

while (<STDIN>) {
    my $command = (split)[0];
    $command =~ s/\W.*\W$//;
    print $command."\n" if $command =~ /^\w{$n}/;
}
print join("\n", qw/for while until foreach if elsif else unless/) . "\n";

2. Functions.pmの場所を確認します.

 $ locate Functions.pm
 /System/Library/Perl/5.10.0/File/Spec/Functions.pm
 /System/Library/Perl/5.10.0/Pod/Functions.pm
 /System/Library/Perl/5.8.9/File/Spec/Functions.pm
 /System/Library/Perl/5.8.9/Pod/Functions.pm

※Macでの実行結果です

3. スクリプトを実行します.

$ perl mkdict.pl < /System/Library/Perl/5.10.0/Pod/Functions.pm | sort > ~/.emacs.d/site-lisp/ac-dict/perl-mode

※辞書(perl-mode)の作成場所は環境に合わせて変更してください

完成!
これでperl-modeで開いたときに作成した辞書が読み込まれます.