namazu-dev(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mknmz --quiet



mknmz の --quiet オプションの処理について。

mknmz 内で次のように処理しています。

  print "foobar\n" unless $var::Opt{'quiet'};

この unless $var::Opt{'quiet'} をいちいちつけるのは面倒です
し、忘れてしまいがちです。そこで、

  nmz_print("foo");
    :
  sub nmz_print (@) {
      print @_ unless $var::Opt{'quiet'};
  }

とすれば、unless $var::Opt{'quiet'} は一ヶ所で済みます。しか
し、nmz_print() を使わずに、うっかり print "foobar\n" と書い
てしまうかもしれません。

僕がいいと思うのは

  if ($var::Opt{'quiet'}) {
      open(STDOUT, ">/dev/null");
  }

と標準出力を /dev/null に直結する方法です。が、Windows では
/dev/null はなさそうなので困ります。

Windows でも動作させるにはファイルに書き出せばいいと思います。

  if ($var::Opt{'quiet'}) {
      open(STDOUT, ">NMZ.stdout");
  }

とか。

どうすればいいと思います? > みなさま

-- Satoru Takabayashi