趣味的にっきさん「Emacsでファイルを新規作成するときにテンプレートを挿入したい」というエントリでファイル作成時に任意のファイルを挿入する方法が書かれていますが、自分は下記のように対話形式でその時々で入れたいものを入れられるようにしています。
これの利点はプライベートと仕事でメールアドレスやコピーライトが違ったりするときにその場でテンプレートの各部分を変更して挿入できる点だと思います。

例としてPerlの.pm、.pl、.cgiという拡張子のファイルを作成する際のコードを下記に書いておきます。このコードの各部分を適当に編集すればそのまま使えるはずです。

これを.emacsに設定しておけば、ファイルを作成する際に「Your e-mail: 」「Copyright: 」というのプロンプトがミニバッファーに出て入力待ちになるので、そこで入力したものがテンプレートに挿入されます。なにも入力をしないでリターンをすればデフォルトで設定されているものが挿入されるので、デフォルトのものはよく使うメールアドレスとコピーライトを設定しておけばよいでしょう。

elispは得意ではないので、もっと効率よい方法もあると思いますので、その辺は適宜変更して下さい。

;; auto-insert
(require 'autoinsert)
(add-hook 'find-file-not-found-hooks 'auto-insert)
(add-hook 'find-file-hooks 'auto-insert)
(setq auto-insert-alist
      (append
       '(
         (("\\.pm$" . "Perl Module Header")
          "Your e-mail: "
          "package " _ ";
# $Id$
#
# Your Name <" str | (setq insert "foo@example.com") ">
# " (read-string "Copyright: ") | (setq insert "Example Co.,Ltd.") "
#

use strict;

1;")
         (("\\.pl$" . "Perl Script Header")
          "Your e-mail: "
          "#!/usr/local/bin/perl
# $Id$
#
# Your Name <" str | (setq insert "foo@example.com") ">
# " (read-string "Copyright: ") | (setq insert "Example Co.,Ltd.") "
#

use strict;
" _ )
         (("\\.cgi$" . "CGI Script Header")
          "Your e-mail: "
          "#!/usr/local/bin/perl
# $Id$
#
# Your Name <" str | (setq insert "foo@example.com") ">
# " (read-string "Copyright: ") | (setq insert "Example Co.,Ltd.") "
#

use strict;
" _ ))
       auto-insert-alist))