Здесь просто приведем текст программы с комментариями:
print "Задайте число: "; $row=<STDIN>; # Печать первой строки. for ($i=0;$i<$row-1;$i++) { print " ";} print "1\n"; if ( $row > 1 ) # Если есть еще строки. { @mas1=(1,1); # Формируем массив второй строки. $kol=2; # Количество элементов в строке. for ($i=1;$i<$row;$i++) # Цикл для вывода текущей строки. { # Вывод начальных пробелов. # Если $row равно, например, 5, то количество # начальных пробелов равно 4. for ($j=0;$j<$row-$i-1;$j++) { print " "; } # Вывод элементов текущей строки. for ($j=0;$j<$kol;$j++) { print $mas1[$j]; print " "; } print "\n"; # Переход на следующую строку. # Формируем массив элементов следующей строки # и помещаем в массив @mas2. $mas2[0]=1; for ($j=1;$j<$kol;$j++) { $mas2[$j]=$mas1[$j-1]+$mas1[$j]; } $mas2[$kol]=1; # Копируем созданный массив в массив @mas1. for ($j=0;$j<=$kol;$j++) { $mas1[$j]=$mas2[$j]; } # Увеличиваем количество элементов в строке на 1. ++$kol; } }