in reply to perl question

It seems OK but I don't know why it doesn't have any output. Any response would be appreciated.

Read this if you want to cut your development time in half!

Your code is not strict/warnings compliant, they would warn you about typos, undeclared variables ... like $taxId in sub getDistance and $taxId1 in sub getParent

I guess that you're using assignment while ($taxId = $taxId1){ instead of numeric comparison operator ==

You initialize an array with an empty string my @parent_list = "";, this doesn't seem intentional, the  = "" portion isn't required for empty array

An array in scalar context returns the number of elements, so   $id = getParent ($taxId); seems fishy.

Do you want the number of elements in @parent_list? First element? Last element? Something else?

I would fix up your code (its short enough) , but its not obvious from the code what sub getParent should return , this means the sub needs documentation, even for perlmonks :) input, output... How do I post a question effectively?

I reccoment you read Tutorials: Context tutorial, Variable Scoping in Perl: the basics, Coping with Scoping

Replies are listed 'Best First'.
Re^2: perl question
by AnomalousMonk (Archbishop) on Sep 08, 2011 at 13:56 UTC
    ... the  = "" portion isn't required for empty array

    ... and, indeed, causes the creation of a non-empty array; let's be very clear about that!

      ... and, indeed, causes the creation of a non-empty array; let's be very clear about that!

      Not only is it non-empty, its initialized to the empty string  push @array, "";