#!/usr/bin/perl -w

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

#======================procedure========================

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} ";
           }
         }
     }
                      
#spodaj je primer logike, ki jo izvaja sub-rotina, dela prvi zapis za unpack
       #i62i3 je A6 A3 A3
#@bits = unpack("A2A3 A1","vector");
#print "$bits[0] $bits[1]   $bits[2]\n";
       #izpis bo taksen ve sta 2 prvi mesti,cto so 3 mesta naprej,o je 1 mesto, glej spodaj
#ve cto   r
# tako lahko izpisem spremenljivko v sub rutini
# print $outform. "\n";
  return $outform;

}



#========================================================
print"Branje iz ene datoteke in dajajnje v drugo datoteko\n";

open (PISIV,">izhod1.txt") || die "ne morem narediti datotelke";
open (VHODRADAR,"<a.a") || die "ne morem odpreti datoteke  $!";

$formatradar="401i6";

$ii=0; $jj=0;

#berem iz fajla
while ( defined($instr=<VHODRADAR>) ) {
          chomp($instr);
         @vrstica_radar=unpack(fort_format($formatradar),$instr);

        # @rad_vrstica=split(/ /, $instr); # razbije vrstico v polje vrednosti, locnicqa je spce " "
#if ((substr($vrstica_radar[0],0,4) eq "DATA")) {$jj=1;}
#f ($ii == 39) {$jj=0;}
     if ($jj==257) { print "koloni 2, 50 ($vrstica_radar[2] | $vrstica_radar[50] ) \n";
    print  substr($vrstica_radar[0],0,4);
 }
       # print  substr($vrstica_radar[0],0,4); 


#se pise v datoteko s simbolnim imenom PISIVC
if ($jj > 0) {print PISIV "$instr\n"; }
if ($ii > 40) {$jj++;}
$ii++;
}

print "  I=$ii,  $jj \n";
close VHODRADAR;
close PISIV;
#se pise v datoteko s simbolnim imenom PISIVC
print "Podatki se tudi zapisejo v datoteko izhod1.txt, ki se dopolnjuje zaradi ukza >>\n";



#$ime=""; $kon="";
#$dolzina=length($i);
#           print "___ dolzina= $dolzina \n";
#if ($dolzina ge 13)
#$ime=substr($i,0,13);
#kon=substr($ime,10,12);
#            print "___ ___ ___ dolzina= $dolzina \n";
#st_pos=substr($ime,3,3);

