Forum Webscript.Ru
Программирование => Perl => Тема начата: xmolex от 11 Апреля 2006, 13:49:02
-
Здравствуйте. Возникла проблема. Я из скрипта получил три различных значения, три числа. (они нужны для изменения прав доступа).
Собрал в одну переменную
$temp = "0".$temp1.$temp2.$temp3;
Пытаюсь, поменять права
chmod ($temp, "test.txt");
И ничего не происходит или права меняются на совершенно левые. Я так понял, что $temp считается как строка и из-за этого глюки.
Набрал простой тестовый скриптик
#!/usr/bin/perl
use CGI qw(:all);
print header;
$q = "0666";
$w = "index.pl";
chmod($q, $w);
print "$q $w";
Когда $q = "0666"; - не работает
Когда $q = 0666; - все работает
Что можно сделать, чтобы работало, ведь данные я получаю из браузера?
-
Эх, поторопился с вопросом, сам нашел решение. Ну может кому пригодится.
Вообщем, перевел число в 10 систему счисления и все.
#!/usr/bin/perl
use CGI qw(:all);
print header;
$q = "777";
$q = oct $q; # вот она золотая строка
$w = "index.pl";
chmod($q, $w);
print "$q $w";