Страница 1 из 1
Пап Карло, помоги чайнику с Перловкой
Добавлено: 20 ноя 2003, 13:01
Seaman
Надо разбить е-майл на юзера и домайн, а потом данные в обоих этих вариблах преобразовать в ловер кейс.
Ну разбивать, я сплитом разбиваю, а потом, когда пытаюсь сделать замену
Код: Выделить всё
$username = s/(\"?[^\"]+\"?)/\L$1/gi;
$domain = s/([^ <>\t]+\.[^ <>\t][^ <>\t]+)/\L$1/gi;
дает ошибку: "
Use of uninitialized value in substitution (s///) at 'filename' line 'X', <STDIN> line 1.
Use of uninitialized value in substitution (s///) at 'filename' line 'X2', <STDIN> line 1.
".
Что я опять не так делаю?
Это я пробую часть кода через DOS prompt.
Добавлено: 20 ноя 2003, 14:01
Seaman
Починил, как:
Код: Выделить всё
#!/usr/bin/perl -w
print "Enter Email address:\n";
chomp($address = <STDIN>);
@address = split('@', $address);
$user = $address[0];
$domain = $address[1];
#$user = s/(\w+)/\L$1/gi;
#$domain = s/(\w+)/\L$1/gi;
print "Username: \L$user\n";
print "Domain: \L$domain\n";
exit;
Но будет-ли так работать при вставлении в Оракл SQL?
Код: Выделить всё
$query = $dbh -> prepare ("UPDATE MEMBERS SET USER = '\L$user' WHERE MEMBER = $id");
$query -> execute;
$query -> finish;
$dbh->commit;
Нет пока возможности проверить вживую.
Добавлено: 20 ноя 2003, 14:32
папа Карло
сорри за задержку. только увидел.
у меня это будет примерно вот так выглядеть
Код: Выделить всё
use strict;
my $address = 'Ivan.Popoff@Nowhere.Com';
$address =~ s/^(.*)$/\L$1/g;
(my $user, my $domain) = split ( /\@/, $address);
print "$user $domain\n";
Добавлено: 20 ноя 2003, 17:26
Seaman
Вот спасибо! Век живи - век учись, как говаривали старые люди!

Добавлено: 21 ноя 2003, 05:13
Seaman
Еще раз спасибо, Пап Карло.
Исследование вопроса показало, что я просто потерял тильду '~' после '='. Что-то мне взбрело в голову, что она используется только при сравнении, но не при замене. (Старость - не радость

).
Добавлено: 21 ноя 2003, 11:01
папа Карло
хахаха. ок. u welcome

пиво тащи

Добавлено: 21 ноя 2003, 13:40
Seaman
Буду в Ванкувере, обязательно, занесу!
Ты "Sleaman's Honey Brown" уважаешь?
Добавлено: 21 ноя 2003, 13:49
папа Карло
Seaman писал(а):Буду в Ванкувере, обязательно, занесу!
Ты "Sleaman's Honey Brown" уважаешь?
cream ale + dried squid

Добавлено: 21 ноя 2003, 13:52
Seaman
хе-хе-хе! O.K.
