Вопрос № 48211: Доброе время!
Есть ли на Perl\'е тип данных "запись", и как он реализуется, если он есть?
Копался в текстах модулей и нашёл запись вида: $drh->{Name}. Что она означает в плане синтаксиса?...
Вопрос № 82398: Доброе время суток! Подскажите как правильно сделать. Есть вывод из бд (см. код), как его сохранить в фаил?...
Вопрос № 51256: Доброго врение суток...
посмотрите пожалуйста код и скажите где ошибка.
Задача: программа должна вывести "ошибка ввода" если пользователь ввел не "да" и не "нет", а если ввел "да" ии "нет", пр...
Вопрос № 48211:
Доброе время!
Есть ли на Perl\'е тип данных "запись", и как он реализуется, если он есть?
Копался в текстах модулей и нашёл запись вида: $drh->{Name}. Что она означает в плане синтаксиса?
Отвечает -OC- (Специалист) :
Здравствуйте, PaveL SvetlY!
такого типа данных как "запись в Perl не существует, но вместо этого можете использовать хэши. В вашем случа можно либо так:
%myrecord = (
id => 0,
host => \'hostname\',
ip => 192.168.0.1
);
обращаться через $myrecord{id}или $myrecord{ip} и т.п.
Либо второй вариант использовать ссылку на анонимный хэш:
$myrecord = {
id => 0,
host => \'hostname\',
ip => 192.168.0.1
};
обращаться через $myrecord->{id} и т.п.
Я бы ркомендовал использовать второй вариант.
Более подробнее можете прочитать в документации либо в литературе либо спросите лично
ну и ответ на второй вопрос надеюсь стал понятен.
Украина, Харьков ICQ # 48315257
Ответ отправил: -OC- (Специалист)
Ответ отправлен: 05.07.2006, 11:26
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 105566
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 82398:
Доброе время суток! Подскажите как правильно сделать. Есть вывод из бд (см. код), как его сохранить в фаил?
Отправлен: 13.04.2007, 14:50
Вопрос задал: Bichkov Nikola
Всего ответов: 3 Страница вопроса »
$sthl = $dbh->query("id,ts,ip,fromHandle,handle,message from logs");
while (%row = $sthl->fetchhash()){
$id=$row({"id"};
$ts=$row{"ts"} ;
$ip=$row{"ip"} и тд.
} получили значения переменных и делаем с ними, что хотим.
Ну, как бы без "prepare"? Ведь Вы исполняете запрос select, его можно заранее не готовить, учитывая, что он простой?
С уважением,
Twerdetz
Россия, Иркутск
Ответ отправил: Twerdetz (Студент)
Ответ отправлен: 13.04.2007, 15:12
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 153758
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает -OC- (Специалист) :
Здравствуйте, Bichkov Nikola!
открываете файл на запись open (FILE, ">filename");
оператором print выводите в соотв. дескриптор print FILE "........"; в теле цикла while
закрываете. close FILE;
вот и все :) Украина, Харьков ICQ # 48315257
Ответ отправил: -OC- (Специалист)
Ответ отправлен: 13.04.2007, 15:13
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 153759
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
1.
===
26 while ($aref = $sth->fetchrow_arrayref){
===
тут вместо = нужно ==
2.
===
27open (file, ">file.txt")
or die ("Ошибка! Невозможно открыть фаил file.txt")
===
тут после die поставьте ;
3.
===
print "$aref->[0] \t $aref->[1] \t $aref->[2] \t $aref->[3] \t $aref->[4] \t $aref->[5]" . "\n";
===
вы забыли сказать что пишете это в файл
тоесть так
print file "$aref->[0] \t $aref->[1] \t $aref->[2] \t $aref->[3] \t $aref->[4] \t $aref->[5]" . "\n";
Адрес сайта:Unix tips
Ответ отправил: ramok (Практикант)
Ответ отправлен: 15.04.2007, 04:20
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 154070
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 51256:
Доброго врение суток...
посмотрите пожалуйста код и скажите где ошибка.
Задача: программа должна вывести "ошибка ввода" если пользователь ввел не "да" и не "нет", а если ввел "да" ии "нет", программа должна вывести то что ввел пользователь. У меня почемуто в любом случае выводится "ошибка ввода"
Всем спасибо...
Отправлен: 05.08.2006, 18:44
Вопрос задал: Lperw
Всего ответов: 2 Страница вопроса »
Отвечает dianacode (Практикант) :
Доброе время суток, Lperw
ну я бы во-первых обратила внимание на консоль, с которой работаю -
кодировка и прочая ересь -
1) пробуем подключать locale
ну и искать всёж регуляркой - не надеятся на авось -
2) =~/
3) в конце-концов самый лучший вариант - НЕ ЗАПАРИВАТЬСЯ и не искать таких вариантов - используйте EN набор символов и будет вам щастье )
с уважением, удачи
Приложение:
----- there is more than one way to do it
Ответ отправил: dianacode (Практикант)
Ответ отправлен: 06.08.2006, 01:25
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 110257
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Muad Dib (Х Заблокирован) :
Здравствуйте, Lperw!
Ошибка впринципе в том что вы очень уж закрутили условием cмотрим что у вас:
if( $ans ne "yes" or $ans ne "no"){print "mistake;}
Если $ans yes - то будет истинным второе значение и or вернет 1. Если $ans no - первое, опять таки 1, если будет вообще что-то левое, то опять таки будет 1 - т.е. при любом раскладе будет печатать mistake. Условие лучше привести к виду:
if($ans eq yes or $ans eq no){print "your string $ans"} ... ну и так далее, или свести к регулярному выражнию как вам посоветовали раньше:
#!/usr/bin/perl -w
print qq( \n);
$ans = ;
if ($ans=~m/^(да|нет)$/ ){
print "your string $ans \n";
}else{
print "mistake \n";
}
По поводу use POSIX и use locale - не знаю - у меня все прекрасно и без них работает :).
----- Use Linux - be free!
Ответ отправил: Muad Dib (Х Заблокирован)
Ответ отправлен: 06.08.2006, 04:15
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 110261
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.