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.

Recommended Answers

All 5 Replies

You have this posted on too many forums for me to want to help you. You should also try and do your own school work.

And the same person on tek-tips, and perlguru, and daniweb, and ??

yes Kevin, I had posted to another forum, as I tried to solve it and i am stuck, i am still learning perl and i was stuck upto splitting the array, not knowing how to assign values to that. I know the algorithm, but i find it very difficult to write the syntax.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.