Forum Webscript.Ru

Программирование => Perl => Тема начата: от 27 Мая 2002, 17:22:27

Название: Перевод строки в число :(
Отправлено: от 27 Мая 2002, 17:22:27
Что есть.
Есть файл 12.txt

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

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

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

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

Заранее благодарен.
Название: Перевод строки в число :(
Отправлено: YA от 27 Мая 2002, 20:39:18
my $file_name="12.txt";
$file_name=(($file_name=~/^(\\d+)/)[0]+1).\'.txt\';

Вроде так. Подойдет?
Название: Перевод строки в число :(
Отправлено: YA от 27 Мая 2002, 22:08:41
:) А лучше так:

my $file_name="12.txt";
$file_name=~s/^(\\d+)/$1+1/e;
Название: Перевод строки в число :(
Отправлено: Green Kakadu от 28 Мая 2002, 01:58:11
а еще, стоит проверить:

if($file_name=~/^(\\d+)/){$file_name=($1+1).\'.txt\';}
else {print "Error!";}
Название: Перевод строки в число :(
Отправлено: YA от 28 Мая 2002, 10:40:45
Green Kakadu
Ну я предполагал, что в переменной $file_name уже нужное имя в точно известном формате.