Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему, код не работает? 
:(
    Опции темы
n0xi0uzz
Дата 21.2.2005, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 29.12.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Код

$top = "1.top";
($num, $a)=split(/./, $top);
print "$num\n$a";


ничего не вывводит smile
как по-другому можно выделить эту еденичку?
PM MAIL WWW ICQ   Вверх
opi
Дата 21.2.2005, 03:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 11.2.2005

Репутация: нет
Всего: нет



Код

$top = "1.top";
$top =~ /^(\d+)\.(.*)$/;
print "$1\n$2\n";


???

Цитата(n0xi0uzz @ 21.2.2005, 03:18)
Код

$top = "1.top";
($num, $a)=split(/./, $top);
print "$num\n$a";


ничего не вывводит smile
как по-другому можно выделить эту еденичку?

PM MAIL   Вверх
korob2001
Дата 21.2.2005, 04:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Если тебе нужно тольк число, то делай так:
Код

#!/usr/bin/perl -w
use strict;
my $top = "120.top";
my $num = ( split(/\./, $top) )[0];
print $num;

Как видиш ошибка была в том, что ты не перекрыл точку в шаблоне, в split. Если перевести твой шаблон на русский язык, то его примерно можно описать так:
Разбить строку по любому символу. Вот он и разбивает её, по любому символу. Если посмотреть в документацию то можно заметить там такую сноску:
Когда строка разбивается с помощью split, то символ разделитель вырезается. В твоём случае символом разделителем является любой символ. Потому в результате мы получаем пустую строку.

Если тебе необходима и строка, которая находится после точки, то можешь заюзать свой код, только поправь шаблон, так же можешь воспользоваться тем, что предоставил тебе opi.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
GoodBoy
Дата 21.2.2005, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Код
$top = "1.top";
($num, $a)=split(/\./, $top);
print "$num\n$a";

Ошибка была тут: /./ нужно: /\./


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.