in reply to rss parser

The simplest explanation is that the test

&test_last($file{$izelast},"$desc") == 1
is always true. Did you want do ... while instead perhaps? (Anyway, you can confirm my guess by changing the until line to something like  until $counter++ < 10;, where you have declared my $counter = 0 at the top of the function.) Without seeing more of your code I can't tell whether this is as it should be or not.

BTW, your code is very hard to read.

the lowliest monk