Блин, ну почему команду 'exec "mkdir ./tmp"' из перловского скрипта созданного под рутом с пермишном 755 запущенного с инета не выполняет? А? Блин, что за хрень . . .
Потому, как это есть скрипт. А ему меняй права, не меняй - все одно - слишком часто при помощи скриптов ломали, вот в один прекрасный день и решили убрать такую возможность. Лучше сделай масюсенькую программку на С (или, если очень смелый, chmod +s perl из под рута)