Автор Тема: Перевод строки в число :(  (Прочитано 2380 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Перевод строки в число :(
« : 27 Мая 2002, 17:22:27 »
Что есть.
Есть файл 12.txt

Необходимо его переименовать в 13.txt

Как мыслю....
1. считываем имя файла
2. переводим строку с именем файла в числовое значение
3. прибавляем еденицу
4. переименовываем файл

Вопрос: как реализовать пункт №2 ?

Подскажите пожайлуста.
Может быть есть другой способ решения этой проблемы?

Заранее благодарен.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Перевод строки в число :(
« Ответ #1 : 27 Мая 2002, 20:39:18 »
my $file_name="12.txt";
$file_name=(($file_name=~/^(\\d+)/)[0]+1).\'.txt\';

Вроде так. Подойдет?
« Последнее редактирование: 27 Мая 2002, 21:59:28 от YA »
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Перевод строки в число :(
« Ответ #2 : 27 Мая 2002, 22:08:41 »
:) А лучше так:

my $file_name="12.txt";
$file_name=~s/^(\\d+)/$1+1/e;
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Перевод строки в число :(
« Ответ #3 : 28 Мая 2002, 01:58:11 »
а еще, стоит проверить:

if($file_name=~/^(\\d+)/){$file_name=($1+1).\'.txt\';}
else {print "Error!";}
 в исканиях.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Перевод строки в число :(
« Ответ #4 : 28 Мая 2002, 10:40:45 »
Green Kakadu
Ну я предполагал, что в переменной $file_name уже нужное имя в точно известном формате.
Литературный перевод с русского и английского на Perl. Дорого!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28