#!/usr/bin/perl -w

############Program prebere le števila, izpusti glavo

#======================procedure========================
###############Podprogram, ki v vrstici najde posamezne elemente
sub fort_format {
     $forform = shift;
#    $forform="2i2,i9";  tudi to priblizno deluje

     @vrst=split(",",$forform);
     $outform="";
 #    my ($i,$j,$wid,$numb);

     foreach $i (@vrst) {
#     print $i. "\n";

         if ($i =~ /(\d+)[iI](\d+)/ ) {
           $numb = $1;
           $wid = $2;
         } elsif ($i =~ /[iI](\d+)/ ) {
           $numb=1;
           $wid = $1;
         } elsif ($i =~ /(\d+)[fF](\d+)\.?(\d+)?/ ) {
           $numb = $1;
           $wid = $2;
         } elsif ($i =~ /[fF](\d+)\.?(\d+)?/ ) {
           $numb=1;
           $wid = $1;
         } else {
           $numb=0;
         }

         if ($numb >= 1 ) {
           for ($j=1; $j<=$numb; $j++) {
              $outform .= "A${wid} ";
           }
         }
     }
                      
  return $outform;

}




 $pot="/home/mihad/radar/vaja/test";
 opendir  (DIR , $pot) || die "Not found the dir : $pot \n\n" ;
 @seznam_datotek = readdir(DIR);
 closedir (DIR);


#####Odprem datoteke iz katerih pišem in datoteko, v katero pišem

open (PISIV,">radar_izhod.txt") || die "ne morem narediti datotelke";

###Pregled datotek, ki jih bom vpisal



 foreach $ime  (@seznam_datotek)########## narediseznam datotek
 {
    $dolzina=length ($ime)

############Če imena vsake datoteke ustreza določenim kriterijem, se bo izvedel preis v novo datoteko

if ($dolzina==25 and substr($ime,0,3) eq si0 and substr($ime,21,4) eq srda ) {

open (VHODRADAR,"<$ime") || die "ne morem odpreti datoteke  $!";

$formatradar="401i6";

$ii=0; $jj=0;

#berem iz fajla
while ( defined($instr=<VHODRADAR>) ) {
          chomp($instr); #$instr je celotna vrstica iz bralne datoteke !!!!!!!!!!!!!!!!!!!!!!
         @vrstica_radar=unpack(fort_format($formatradar),$instr);

####Preberem datum in čas iz glave datoteke

if ($ii==5){
	$leto=substr($instr,10,4);
	$mesec=substr($instr,15,2);
	$dan=substr($instr,18,2);
	$ura1=substr($instr,21,2);
	$ura2=substr($instr,24,2); }

##3Prepisovanje le tistih členov matrike, ki sovečji od 0
$x=1;
   if ($jj>0) {foreach $RR  (@vrstica_radar) {if($RR>0)
	 {$RR=1*$RR;
        if($jj<10){$j_j="00".$jj;} 
	if(($jj<100)and($jj>=10)){$j_j="0".$jj;}
	if($x<10){$x_="00".$x;}
	if(($x<100)and($x>=10)){$x_="0".$x;}
        if ($jj>99) {$j_j=$jj;} if ($x>99) {$x_=$x;}
	print "$leto-$mesec-$dan $ura1:$ura2|$j_j$x_|$RR\n "; 
	print PISIV "$leto-$mesec-$dan $ura1:$ura2|1$j_j$x_|$RR\n"; 
       
}
         
$x++; }
		}

#se pise v datoteko s simbolnim imenom PISIVC

if ($ii > 40) {$jj++;}
$ii++;
}

print "  I=$ii,  $jj \n";

close VHODRADAR;

	}  ###################konec if stavka
 } ############### konec foreach za datoteke, ki jih prepisujem
close PISIV;

#se pise v datoteko s simbolnim imenom PISIVC
print "Podatki se tudi zapisejo v datoteko radar_izhod, ki se dopolnjuje zaradi ukza >>\n";

