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
-------       -------       ---=---       -------       ------- 

  #!/usr/local/bin/perl
  
  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) =
                        (localtime(time))[4,3,5,2,1,0,6];
    $year -= 100;  ## gives 2 digit (with %02d)
    $mon  += 1;
  
    my  $PDS = sprintf "%02d%02d%02d:%02d%02d%02d %d",
               $year,$mon,$mday,$hour,$min,$sec,$wday;
    return $PDS;
  }
-------       -------       ---=---       -------       ------- 


-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to