#!/usr/bin/perl -w

### Program bere datoteko in naredi izpis v novo datoteko za samo izbrabne elemente

#======================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";


# spodaj odprem datoteko izhod1.txt kamor pisem podatke iz kkd za tabele,ukaz pri open >> dopise, > prepise
open (PISIV,">poskus1.txt") || die "ne morem narediti datotelke";



# spodaj odprem ze obstojeci fajl za branje <
# open (PPD,"<$ime") || die "ne morem odpreti datoteke $ime $!";
open (VHODRADAR,"<a.a") || die "ne morem odpreti datoteke  $!";

#open (VHODRADAR,"<si0-20010531-2300-rh.srda") || die "ne morem odpreti datoteke  $!";
$formatradar="401i6";

#berem iz fajla
while ( defined($instr=<VHODRADAR>) ) {
          chomp($instr);
          $dolzina=length($instr);
 #         $del=substr($instr,0,5);
         @vrstica_radar=unpack(fort_format($formatradar),$instr);
        # @rad_vrstica=split(/ /, $instr); # razbije vrstico v polje vrednosti, locnicqa je spce " "
       print "koloni 2, 50 ($vrstica_radar[2] | $vrstica_radar[50] ) \n";
#         print "$del\n";


#se pise v datoteko s simbolnim imenom PISIVC
 print PISIV "koloni 2, 50 ($vrstica_radar[2] | $vrstica_radar[50] ) \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);

