while ( my $value = some_sub() ) { # do something my $other_value = some_sub(); } #### sub some_sub { my @caller = caller(); # now I know where I was called } #### for ( 1 .. 10 ) { my ( $foo, $bar ) = ( some_sub(), some_sub() ); # do stuff }