/ / WinChalow

--quiet[perl]

2004-08-16

STDOUT を /dev/null で reopen するという --quiet オプションの実装方法が書いてあった。これはシンプルで使えそう。
「いやな日記 --quiet オプションの実装」
http://namazu.org/~satoru/diary/20040813.html
これをクラスにしておいて、new するという手もある。実際にやってみた。

package QuietMode;
use strict;
use File::Spec;

sub new
{
my $class = shift;
my $self = bless {}, $class;
my $devnull = File::Spec->devnull();
open(STDOUT, ">$devnull");
return $self;
}

package main;
print "This is a pen.\n";
QuietMode->new;
print "This is a pencil.\n";

permlink