Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations MikeeOK on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

match data to another value in file 1

Status
Not open for further replies.

Plbasic

Programmer
Oct 7, 2008
2
DE
Iam new to perl. This is my problem.
I have calculated the distance using the formula

my $distance = sqrt(($x2 - $x1)**2 + ($y2 - $y1)**2 + ($z2 - $z1)**2);
and the value of $distance looks like this:

3.72851967944384
5.83210433720111
7.12922562414741
10.2322964186931
11.2073015931579
11.882666956538
14.4465118281196
16.0581479006765
17.2278339903773

Now I have to open a file that looks like this:

1 3.90
2 4.90
3 4.91
4 5.12
.
.
.
71 50.23
72 51.00
.
.
180 78.00

I have opened this file

open(DIST,"path/DBins.pl") or die "$!";
while(my $lines = <DIST>){
chomp($lines);
my @point = (split (/\s+/, $lines))[1,2];

I have to compare the value of $distance (shown above)with the above file with the second column and print out the corresponding first column value. the threshold value is 71(1st column). Any value of $distance above 50.00 should stop there and retrieve the first column values of 50.23. The first column is the index value and second column(floating point values) is the energy values.

Till now I have split the line in the file, but i dnt know how to assign values to that array to the two columns . I dont know how to compare the value of $distance to the second column and get the corresponding first column values as output.
Please help.

Thanks
 
Code:
my($index,$energy);
$distance=50 if$distance>50;
while(<DIST>){
  ($index,$energy)=split;
  if($energy>=$distance){
    print$index;
    last;
  }
}
close DIST;
Note: array indices in perl start at 0, not 1.

Franco
: Online engineering calculations
: Magnetic brakes for fun rides
: Air bearing pads
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top