From a0a42eebe8eb281e55250d441719dde544f6ae13 Mon Sep 17 00:00:00 2001 From: "Brian Fraser fraserb@gmail.com" <> Date: Wed, 6 Jun 2012 14:19:27 -0300 Subject: [PATCH] Bug #995896: Useless use of cat in Daemon.pm --- lib/Daemon.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Daemon.pm b/lib/Daemon.pm index acc9e1fb..28664693 100644 --- a/lib/Daemon.pm +++ b/lib/Daemon.pm @@ -125,7 +125,7 @@ sub check_PID_file { PTDEBUG && _d('Checking PID file', $PID_file); if ( $PID_file && -f $PID_file ) { my $pid; - eval { chomp($pid = `cat $PID_file`); }; + eval { chomp($pid = slurp_file($PID_file)); }; die "Cannot cat $PID_file: $OS_ERROR" if $EVAL_ERROR; PTDEBUG && _d('PID file exists; it contains PID', $pid); if ( $pid ) { @@ -221,6 +221,12 @@ sub DESTROY { return; } +sub slurp_file { + my ($file) = @_; + open my $fh, "<", $file or die "Couldn't slurp file: $!"; + return do { local $/; <$fh> }; +} + sub _d { my ($package, undef, $line) = caller 0; @_ = map { (my $temp = $_) =~ s/\n/\n# /g; $temp; }