$Max = $ARGV[3]; #no $Pad needed. And I added $Max until ( $Start > $Max ) { print "$Pre$Start$Post\n"; getstore ( $Url, "$Start$Post" ); $Start = substr(++($Start="z$Start"),1); } # or see it work with this one-liner... perl -e '$a="0035";until($a>50){print$a=substr(++($a="z$a"),1),$/}'