When starting my http server
I don't want to see >> Dancer2 v0.201000 server <pid> listening on http://0.0.0.0:<port>
printed on the stderr
. Thats why I added the following line before calling start()
get "/pwd" => sub {
my $pwd = cwd;
print STDERR "\n\n[PWD] : $pwd\n"; # this line is not being printed
print "\n\n[STDOUT::PWD] : $pwd\n";
my %responseHash = ( pwd => $pwd );
my $response = encode_json \%responseHash;
return $response;
};
my $dancerStartErr;
sub startServer {
open (local *STDERR, ">", \$dancerStartErr)
or die "Dup err to variable error: $!\n";
start();
}
startServer();
The problem is that later I can't print something on the STERR
. How can I reopen STDERR
(open(STDERR, ">", \*STDERR);
doesn't help)?