#!/usr/bin/perl if ($#ARGV != 0 ) { print "Usage: $0 needs 1 arguments: \n"; exit(); } $file1 = $ARGV[0]; @id = ( ); @yint = ( ); @phiint = ( ); @dxdyinit = ( ); @dxdthetainit = ( ); @dydyinit = ( ); @dydthetaint = ( ); @yfinal = ( ); @phifinal = ( ); @dxdyfinal = ( ); @dxdthetafinal = ( ); @dydyfinal = ( ); @dydthetafinal = ( ); open(FILE1,"<$file1"); while ($line = ) { push(@id, $line); $counter++; } close(FILE1); $k = 0; $parity = 2; $binvar = 0; while ($k < 1) { if ($id[$k] =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) { $shiftinit = $1; $initsolpattern = $7; #This is the 2001 $shiftfactor = $9; #This is the 6011 } $k++; } $start = $shiftinit; $counter1 = 0; while ($start < $counter) { if (($id[$start] =~ /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/) && ($id[($start+1)] =~ /(\S+)\s+/)) { $joker = $id[$start]; $jok = $id[($start+1)]; @fields = split(' ', $joker); @temp = split(' ', $jok); if ($temp[1] =~ /(\S+)/) { print "I am here\n"; } else { $ynot = $fields[2]; $phinot = $fields[3]; $dxdy0 = $fields[4]; $dxdtheta0 = $fields[5]; $dydy0 = $fields[6]; $dydtheta0 = $temp[0]; # print "$ynot\t $phinot\t $dxdy0\t $dydtheta0\t $dydy0\t $dydtheta\n"; if($binvar == 0) { push(@yinit, $ynot); push(@phiinit, $phinot); push(@dxdyinit, $dxdy0); push(@dxdthetainit, $dydtheta0); push(@dydyinit, $dydy0); push(@dydthetaint, $dydtheta0); # print "$dxdy0\t $dydtheta0\t start is $start\t binvar is $binvar\t parity is $parity\n"; } else { push(@yfinal, $ynot); push(@phifinal, $phinot); push(@dxdyfinal, $dxdy0); push(@dxdthetafinal, $dxdtheta0); push(@dydyfinal, $dydy0); push(@dydthetafinal, $dydtheta0); # print "$dxdy0\t $phinot\t start is $start\t binvar is $binvar\t parity is $parity\n"; } } } if($parity%2 == 0) { $start = $start + 4000; $binvar = 1; } else { $start = $start + 2012; $binvar = 0; } $parity++; $counter1++; } for ($i=0; $i<$counter1; $i++) { print "$yinit[$i]\t $phiinit[$i]\t $yfinal[$i]\t $phifinal[$i]\t $dxdyfinal[$i]\t $dxdthetafinal[$i]\t $dydyfinal[$i]\t $dydthetafinal[$i]\n"; }