develooper Front page | perl.beginners | Postings from October 2021

run cmd, writing output to log file

Thread Next
October 5, 2021 19:35
run cmd, writing output to log file
Message ID:
Whenever I don't do  scripting for longish periods, next time I start
writing a perl script, an awful lot of useful info has flew right out
of my pea brain.

I was pretty sure I have written perl scripts that wrote to log files
with out problems but the script below does not.  Instead if throws
this error:

  Can't use string ("/home/reader/t/var/log/fetchmail"...) as a symbol
  ref while "strict refs" in use at ./pfetch line 18, <$ch> line 1.

pfetch script
-------       -------       ---=---       -------       ------- 

  use strict;
  use warnings;
  my $cmd = "fetchmail -vvvc";
  my $PaddedDateStr = pd();
  open my $ch, '-|', "$cmd" or die
    "Can't open $cmd: $!";
  my $log = "/home/reader/t/var/log/fetchmail.log";
  open my $fh, '>>', "$log" or die
                  "Can't open $log: $!";
  while (<$ch>) {
    print $log "$PaddedDateStr $_";
  print $log "\n";
  close $log;
  sub pd {
    my ($mon,$mday,$year,$hour,$min,$sec,$wday) =
    $year -= 100;  ## gives 2 digit (with %02d)
    $mon  += 1;
    my  $PDS = sprintf "%02d%02d%02d:%02d%02d%02d %d",
    return $PDS;
-------       -------       ---=---       -------       ------- 

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About