Так тоже не верноЕсли переименуется, то сервер 500 выдаст, надо так:
ага, ваша правда, только die в любом случае выведет это не в броузер, как того хочет чел-к.
А чтоб в броузер, то правильно написать так:
unless(rename("count.html", "count.shtml")){
print "Content-type: text/html\\n\\n Error: $!";
}
во, теперь окей.
забавно, что не обрабатывалась
rename("count.html", "count.shtml") or print "Content-type: text/html\\n\\n Can not rename file, reason $!";
интересно почему? наверное по тем же причинам, что и конструкция вида:
$i++ or print "Пусто, чувак!";
(а вот: ++$i or print "Привет!"; пройдет нормально)
Т.к. операция $i++ (в отличии от ++$i) происходит после действия, т.е. вначале проверили на истинность, а потом автоинкремент, и с ренеймом: вначале на истинность, а потом ренейм
вот она perl философия!