#!/usr/local/bin/perl -w open (INPUT, "ngc188.catal") || die "died opening input\n"; open (STDOUT, ">sortedngc") || die "died opening output\n"; $n =0; while ($inline = ) { @firstline = split(/\s+/, $inline); ######################################### $pi = 3.141592654; $cos = cos(($firstline[3] * $pi) / 180); $x = abs(($firstline[2]* $cos) - (11.083333 * cos((85.315 * $pi) / 180))); $x2 = $x * $x; #squaring the x-xo term $y = abs($firstline[3] - 85.3150000); $y2 = $y * $y; #squaring the y-yo term $r2 = $y2 + $x2; #distance in decimal degree ########################variable definition############################# $id[$r2] = $firstline[1];#id $ra[$r2] = $firstline[2];#RA $dec[$r2] = $firstline[3];#dec $prob[$r2] = $firstline[11];#probablity $mag[$r2] = $firstline[12];#magnitude $bv[$r2] = $firstline[13];#b-v ###################################pushing######################## push (@dist, $r2); $n++; } sub numerically { $a <=> $b}; @sorted = sort numerically @dist; @nindex = (0..$n-1); foreach $i (@nindex) { print STDOUT "$id[$sorted[$i]] $ra[$sorted[$i]] $dec[$sorted[$i]] $prob[$sorted[$i]] $mag[$sorted[$i]] $bv[$sorted[$i]] $sorted[$i]\n"; }