Hi,
I trying substring line from file where is a keywords - open newest file in folder but now I using file as a source data: kontroly20220513_154743.txt
I need find keywords: Konec_Kontroly, Konec, Volat, Stav, Info and print this data to logfile with time: kontroly.log
Now its not working, log file is empty. Can you help me please?
What I have tried:
use strict;
use warnings;
my $vstup = "C:/Users/cen65842/Documents/Kontroly/testkontroly/kontroly20220513_154743.txt";
open( my $default_fh, "<", $vstup ) or die $!;
my $log = "C:/Users/cen65842/Documents/Kontroly/testkontroly/kontroly.log";
my $Konec_Kontroly = substr($default_fh,index($default_fh,"Konec_Kontroly")+12,index($default_fh,"Konec_Kontroly",index($default_fh,"Konec Kontroly")+2)-index($default_fh,"Konec Kontroly")-13);
my $Konec = substr($default_fh,index($default_fh,"Konec")+12,index($default_fh,"Konec",index($default_fh,"Konec")+2)-index($default_fh,"Konec")-13);
my $Volat = substr($default_fh,index($default_fh,"Volat")+12,index($default_fh,"Volat",index($default_fh,"Volat")+2)-index($default_fh,"Volat")-13);
my $Stav = substr($default_fh,index($default_fh,"Stav")+12,index($default_fh,"Stav",index($default_fh,"Stav")+2)-index($default_fh,"Stav")-13);
my $Info = substr($default_fh,index($default_fh,"Info")+11,index($default_fh,"Info",index($default_fh,"Info")+1)-index($default_fh,"Info")-12);
<pre>#ziskani casu - mesic je od 0 a rok je pocet roku od 1900
my ($sec,$min,$hour, $mday,$mon,$year, $wday,$yday,$isdst) = localtime(time);
#sestaveni jsounu pro poslani
my $xjson='{ "GENCELEK" : "SAS_CALLC" , "Konec_Kontroly" : "' . $String . '" , "Datum" : "' . $Konec . '" , "Výsledek kontroly" : "' . $Volat . '" , "Stav" : "' . $Stav . '" , "Info" : "' . $Info . '" }';
#zapisovani do logu
open(DATA, ">>", $log);
printf DATA "%4d-%02d-%02d %02d:%02d:%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec;;
print DATA " " . $xjson . " ";