in reply to asterisk pattern

Oh! I see from the CB that you want to use a for loop:

print ' ' x (abs(2 - $_)), '*' x (3 - abs(2 - $_)), "\n" for 0 .. 4;
True laziness is hard work