Size: a a a

2020 February 25

b

basiliscos in Modern::Perl
tar -cf /tmp/x.tar -C /path/source/dir
источник

AK

Andrey Karepin in Modern::Perl
это если у него файлы на одном уровне
источник

AK

Andrey Karepin in Modern::Perl
       --transform=EXPRESSION, --xform=EXPRESSION
             Use sed replace EXPRESSION to transform file names.
источник

AK

Andrey Karepin in Modern::Perl
Andrey Karepin
хм, --strip-components
только для распаковки
источник

MD

Mihail Dvornikov in Modern::Perl
$tar->add_files('file/foo.pl', 'docs/README');
$tar->rename('oldname', 'new/file/name');
rename не находит файлы по полному пути или по имени файла.
источник

SK

Sergei Khomutov in Modern::Perl
Mihail Dvornikov
$tar->add_files('file/foo.pl', 'docs/README');
$tar->rename('oldname', 'new/file/name');
rename не находит файлы по полному пути или по имени файла.
Так rename имя архива правит, а не файлов в нем .
источник

SK

Sergei Khomutov in Modern::Perl
Mihail Dvornikov
Как в Archive::Tar при создании архива убрать путь к файлам и оставить только имена файлов?
Тут Archive Tar не поможет, надо системные утилиты использовать.
источник

MD

Mihail Dvornikov in Modern::Perl
Рабочий вариант c удалением пути к файлам:
my $tar = Archive::Tar->new;
$tar->add_files( @arr_filein_full );

my @arr_obj = $tar->get_files();
foreach my $file ( @arr_obj ) {
     $file->rename( basename( $file->full_path ) );
}
$tar->write( $fileout_full );
источник

AK

Andrey Konovalov in Modern::Perl
Oleg Pronin
Глоб тут не при чем. Все переменные типа IO блессятся при создании в io::file
Ага, только пакеты не грузятся до тех пор, пока не будет вызван метод. Не странно ли это? И где видно, что они блесятся?
источник

OP

Oleg Pronin in Modern::Perl
Andrey Konovalov
Ага, только пакеты не грузятся до тех пор, пока не будет вызван метод. Не странно ли это? И где видно, что они блесятся?
В сишных исходниках перла.
источник

OP

Oleg Pronin in Modern::Perl
Подгрузка там сделана по-перловому (через жопу макаронно). Когда нет метода в классе, и нет автолоада, в коде который генерит эксепшен «cant locate ... », если это обьект IO, загружается io::file если еще не был загружен и длаеься все заново
источник

AK

Andrey Konovalov in Modern::Perl
Oleg Pronin
В сишных исходниках перла.
Почему тогда простое вроде бы желание вызвать autoflush на fh приводит к подгрузке целого вороха pm'ок?
источник

OP

Oleg Pronin in Modern::Perl
А блесс сделан внутри sv_upgrade. Если таргет это pvio, то идет блесс в iofile
источник

OP

Oleg Pronin in Modern::Perl
Andrey Konovalov
Почему тогда простое вроде бы желание вызвать autoflush на fh приводит к подгрузке целого вороха pm'ок?
Ответил выше)
источник

S

Sergey in Modern::Perl
А выполнение регулярки может подгрузить utf8-heavy.pl, так что это далеко не единственное такое место.
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
Ага, только пакеты не грузятся до тех пор, пока не будет вызван метод. Не странно ли это? И где видно, что они блесятся?
As of v5.14 you don't have to use IO::Handle for this as IO::File is required when needed.
источник

AP

Anton Petrusevich in Modern::Perl
источник

AP

Anton Petrusevich in Modern::Perl
гугль нашёл мне ответ сразу же.
источник
2020 February 26

AK

Andrey Konovalov in Modern::Perl
Anton Petrusevich
гугль нашёл мне ответ сразу же.
Потому что ты вбивал вопрос, зная ответ. Когда не знаешь ответ - это так не работает.
источник

AP

Anton Petrusevich in Modern::Perl
Andrey Konovalov
Потому что ты вбивал вопрос, зная ответ. Когда не знаешь ответ - это так не работает.
Я вбивал твой вопрос. В своей интерпретации
источник