On Tue, Oct 5, 2021 at 3:35 PM reader <hp...@fastmail.fm> wrote:

> 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;
>   }
> -------       -------       ---=---       -------       -------
> At first glace, looks like $log was used instead of instead of $fh.
>
Ken

Reply via email to