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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> File::Copy 
:(
    Опции темы
micolo
Дата 13.3.2008, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток!

У меня такая проблема! Всё до банального смешно. 

Код

#!/usr/bin/perl

use Time::localtime;
use File::Copy;

my $times;
my $path1;
my $path2;

$times=sprintf("%02d%02d%02d",
    localtime->mday(),
    localtime->mon()+1,
    localtime->year()-100
);


$path1="D:\ВПП.txt";
$path2="D:\".$times."_pays.txt";


copy($path1,$path2) or die "Copy failed: $!";

print "ready";



При копировании выдаёт ошибку:

Код

Bareword found where operator expected at D:\scripts\ftp_upload1.pl line 18, nea
r ""D:\".$times."_pays"
        (Missing operator before _pays?)
String found where operator expected at D:\scripts\ftp_upload1.pl line 21, near
"copy($path1,$path2) or die ""
  (Might be a runaway multi-line "" string starting on line 18)
        (Missing semicolon on previous line?)
Bareword found where operator expected at D:\scripts\ftp_upload1.pl line 21, nea
r "copy($path1,$path2) or die "Copy"
String found where operator expected at D:\scripts\ftp_upload1.pl line 23, near
"print ""
  (Might be a runaway multi-line "" string starting on line 21)
        (Missing semicolon on previous line?)
Bareword found where operator expected at D:\scripts\ftp_upload1.pl line 23, nea
r "print "ready"
        (Do you need to predeclare print?)
String found where operator expected at D:\scripts\ftp_upload1.pl line 23, at en
d of line
        (Missing semicolon on previous line?)
syntax error at D:\scripts\ftp_upload1.pl line 18, near ""D:\".$times."_pays"
Can't find string terminator '"' anywhere before EOF at D:\scripts\ftp_upload1.p
l line 23.


если ставлю:

Код

$path2="D:\$times_pays.txt";


файл так и копируется (как $times_pays.txt).

Подскажите как правильно скопировать файл с переменной в имени?


PM MAIL   Вверх
amg
Дата 13.3.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

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



micolo, почитайте, как ведет себя бэкслеш внутри кавычек.
Надо так
Код

$path1="D:\\ВПП.txt";
$path2="D:\\".$times."_pays.txt";
либо так
Код

$path1='D:\ВПП.txt';
$path2='D:\\'.$times.'_pays.txt';

PM MAIL   Вверх
micolo
Дата 13.3.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо!
PM MAIL   Вверх
ramus
Дата 18.4.2008, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А я использую юниксовую нотацию, например

Код

$path2="D:/$times_pays.txt";
$path2="D:/some/path/${times_pays}_${YYMMDD}.txt";

И ничего экранировать не надо  smile 
теоретически наверное плохо (кстати почему?), но работает и на виндах и на юниксах (HP-UX, Linux RHEL)

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


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

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


 




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


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

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