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; [download]