Rafiq писал(а):Вообще-то system() может и не запускать шелл, точно конечно не скажу - сделал такое предположение исходя из наличия также функции string shell_exec($cmd)
Запускает. А уже запущенный шелл разбирает указанную команду на собственно команду и аргументы. Иначе вызов system("ls /tmp") закончится сообщением об ошибке, что нет такой команды и будет совершенно прав т.к. есть команда "ls", а коанды "ls /tmp" нет. shell_exec($cmd) тоже запускает шелл, разница с system в том, что shell_exec позвращает результат работы команды, т.е. вызов
$a=shell_exec("ls /tmp")
аналогичен шелл-конструкции
a=`ls /tmp`
Rafiq писал(а):после Паскаля привыкнуть к синтаксису С было сложно
Синтаксисы С и Паскаля - это примерно одно и тоже.
Rafiq писал(а):Между мной и компьютером есть существенная разница - компьютер и есть калькулятор

Моя аналогия была не про сравнение человека с компьютером.
Rafiq писал(а):когда я пишу компьютерную программу, я просто хочу написать a = b / c и не задумываться, что на самом деле окажется в a, если результат - нецелое число
Вот так и рождаюся глючные программы! Что будет, если на самом деле окажется, например, что b вовсе даже не число?
Rafiq писал(а):Для компьтерной программы "брать в руки калькулятор", выглядит как то странно

А не выглядит странно, что когда при написании программы тебе надо например что-то вывести на экран ты не начинаешь посылать служебные байты в соотв. регистры видеоадаптера, а просто пользуешься готовой функцией print? Почему твоей программе можно пользоваться готовыми функциями и программами, а шеллу нельзя?
Rafiq писал(а):но одним из предназначений Перла было как раз написание скриптов вместо шелл
Только вот Лари Уолл (автор Perl) с тобой почему-то не согласен.
Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language — «практический язык для извлечения данных и составления отчётов»
Rafiq писал(а):Для текстовой обработки приходилось привлекать awk, потому что на С делать было бы муторно
Читайте книжки - они рулез!
С начала времён существует парочка утилит: lex и yacc (нынче вытеснен bison'ом), которые позволяют из несложного формализованного описания требуемого синтаксического разбора строк и операций над ними сгенерить код на C делающий это, который можно использовать в своей программе. Это кстати тоже к вопросу о готовых функциях и утилитах.
Rafiq писал(а):if [ "$Res" = "TRUE" ] - кстати, зачем $Res в кавычках?
А это к вопросу о глючных программах. Попробуй самостоятельно проверить как поведёт себя скрипт с такой конструкцией с кавычками и без, если по какой-либо причине переменная Res не будет ничего содержать или просто не будет существовать...
