Aion-Fs

 view release on metacpan or  search on metacpan

i18n/Aion/Fs.ru-en.po  view on Meta::CPAN

msgid "Aion::Fs - утилиты для файловой системы: чтение, запись, поиск, замена файлов и т.д."
msgstr "Aion::Fs - utilities for the file system: reading, writing, searching, replacing files, etc."

msgid "Этот модуль облегчает использование файловой системы."
msgstr "This module makes it easier to use the file system."

msgid "Модули `File::Path`, `File::Slurper` и\n"
"`File::Find` обременены различными возможностями, которые используются редко, но требуют времени на ознакомление и тем самым повышают порог ...
msgstr "Modules `File::Path`, `File::Slurper` and\n"
"`File::Find` is burdened with various features that are rarely used, but require time to become familiar with and thereby increase the barrier to entry."

msgid "В `Aion::Fs` же использован принцип программирования KISS - чем проще, тем лучше!"
msgstr "`Aion::Fs` uses the KISS programming principle - the simpler the better!"

msgid "Супермодуль `IO::All` не является конкурентом `Aion::Fs`, т.к. использует ООП подход, а `Aion::Fs` – ФП."
msgstr "The `IO::All` supermodule is not a competitor to `Aion::Fs`, because uses an OOP approach, and `Aion::Fs` is FP."

msgid "* ООП – объектно-ориентированное программирование.\n"
"* ФП – функциональное программирование."
msgstr "* OOP – object-oriented programming.\n"
"* FP – functional programming."

msgid "Считывает файл. Если параметр не указан, использует `$_`."
msgstr "Reads the file. If no parameter is specified, use `$_`."

msgid "`cat` читает со слоем `:utf8`. Но можно указать другой слой следующим образом:"
msgstr "`cat` reads with layer `:utf8`. But you can specify another layer like this:"

msgid "`cat` вызывает исключение в случае ошибки операции ввода-вывода:"
msgstr "`cat` throws an exception if the I/O operation fails:"

msgid ""
"* [autodie](https://metacpan.org/pod/autodie) – `open $f, \"r.txt\"; $s = join \"\", <$f>; close $f`.\n"
"* [File::Slurp](https://metacpan.org/pod/File::Slurp) – `read_file('file.txt')`.\n"
"* [File::Slurper](https://metacpan.org/pod/File::Slurper) – `read_text('file.txt')`, `read_binary('file.txt')`.\n"
"* [File::Util](https://metacpan.org/pod/File::Util) – `File::Util->new->load_file(file => 'file.txt')`.\n"
"* [IO::All](https://metacpan.org/pod/IO::All) – `io('file.txt') > $contents`.\n"
"* [IO::Util](https://metacpan.org/pod/IO::Util) – `$contents = ${ slurp 'file.txt' }`.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->slurp`."
msgstr ""
"* [autodie](https://metacpan.org/pod/autodie) – `open $f, \"r.txt\"; $s = join \"\", <$f>; close $f`.\n"
"* [File::Slurp](https://metacpan.org/pod/File::Slurp) – `read_file('file.txt')`.\n"
"* [File::Slurper](https://metacpan.org/pod/File::Slurper) – `read_text('file.txt')`, `read_binary('file.txt')`.\n"
"* [File::Util](https://metacpan.org/pod/File::Util) – `File::Util->new->load_file(file => 'file.txt')`.\n"
"* [IO::All](https://metacpan.org/pod/IO::All) – `io('file.txt') > $contents`.\n"
"* [IO::Util](https://metacpan.org/pod/IO::Util) - `$contents = ${ slurp 'file.txt' }`.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->slurp`."

msgid "Записывает `$content` в `$file`."
msgstr "Writes `$content` to `$file`."

msgid "* Если указан один параметр, использует `$_` вместо `$file`.\n"
"* `lay`, использует слой `:utf8`. Для указания иного слоя используется массив из двух элементов в параметре `$file`:"
msgstr "* If one parameter is specified, use `$_` instead of `$file`.\n"
"* `lay`, uses the `:utf8` layer. To specify a different layer, use an array of two elements in the `$file` parameter:"

msgid ""
"* [autodie](https://metacpan.org/pod/autodie) – `open $f, \">r.txt\"; print $f $contents; close $f`.\n"
"* [File::Slurp](https://metacpan.org/pod/File::Slurp) – `write_file('file.txt', $contents)`.\n"
"* [File::Slurper](https://metacpan.org/pod/File::Slurper) – `write_text('file.txt', $contents)`, `write_binary('file.txt', $contents)`.\n"
"* [IO::All](https://metacpan.org/pod/IO::All) – `io('file.txt') < $contents`.\n"
"* [IO::Util](https://metacpan.org/pod/IO::Util) – `slurp \\$contents, 'file.txt'`.\n"
"* [File::Util](https://metacpan.org/pod/File::Util) – `File::Util->new->write_file(file => 'file.txt', content => $contents, bitmask => 0644)`.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->spew($chars, 'UTF-8')`."
msgstr ""
"* [autodie](https://metacpan.org/pod/autodie) – `open $f, \">r.txt\"; print $f $contents; close $f`.\n"
"* [File::Slurp](https://metacpan.org/pod/File::Slurp) – `write_file('file.txt', $contents)`.\n"
"* [File::Slurper](https://metacpan.org/pod/File::Slurper) – `write_text('file.txt', $contents)`, `write_binary('file.txt', $contents)`.\n"
"* [IO::All](https://metacpan.org/pod/IO::All) – `io('file.txt') < $contents`.\n"
"* [IO::Util](https://metacpan.org/pod/IO::Util) – `slurp \\$contents, 'file.txt'`.\n"
"* [File::Util](https://metacpan.org/pod/File::Util) – `File::Util->new->write_file(file => 'file.txt', content => $contents, bitmask => 0644)`.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->spew($chars, 'UTF-8')`."

msgid "Рекурсивно обходит и возвращает пути из указанного пути или путей, если `$path` является ссылкой на массив. Без параметров использует `$_...
msgstr "Recursively traverses and returns paths from the specified path or paths if `$path` is an array reference. Without parameters, uses `$_` as `$path`."

msgid "Фильтры могут быть:"
msgstr "Filters can be:"

msgid ""
"* Подпрограммой – путь к текущему файлу передаётся в `$_`, а подпрограмма должна вернуть истину или ложь, как они понимаются perl-ом.\n"
"* Regexp – тестирует каждый путь регулярным выражением.\n"
"* Строка в виде \"-Xxx\", где `Xxx` – один или несколько символов. Аналогична операторам perl-а для тестирования файлов. Пример: `-fr` проверяет путÑ...
"* Остальные строки превращаются функцией `wildcard` (см. ниже) в регулярное выражение для проверки каждого пути."
msgstr ""
"* By subroutine - the path to the current file is passed to `$_`, and the subroutine must return true or false, as understood by Perl.\n"
"* Regexp – tests each path with a regular expression.\n"
"* String in the form \"-Xxx\", where `Xxx` is one or more characters. Similar to Perl operators for testing files. Example: `-fr` checks the path with file testers [-f and -r](https://perldoc.perl.org/functions/-X).\n"
"* The remaining lines are turned by the `wildcard` function (see below) into a regular expression to test each path."

msgid "Пути, не прошедшие проверку `@filters`, не возвращаются."
msgstr "Paths that fail the `@filters` check are not returned."

msgid "Если фильтр -X не является файловой функцией perl, то выбрасывается исключение:"
msgstr "If the -X filter is not a perl file function, an exception is thrown:"

msgid "В этом примере `find` не может войти в подкаталог и передаёт ошибку в функцию `errorenter` (см. ниже) с установленными переменными `$_` и `$!` (путё...
msgstr "In this example, `find` cannot enter the subdirectory and passes an error to the `errorenter` function (see below) with the `$_` and `$!` variables set (to the directory path and the OS error message)."

msgid "**Внимание!** Если `errorenter` не указана, то все ошибки **игнорируются**!"
msgstr "**Attention!** If `errorenter` is not specified, then all errors are **ignored**!"

msgid ""
"* [AudioFile::Find](https://metacpan.org/pod/AudioFile::Find) – ищет аудиофайлы в указанной директории. Позволяет фильтровать их по атрибутам: названию, артисту, жÐ...
"* [Directory::Iterator](https://metacpan.org/pod/Directory::Iterator) – `$it = Directory::Iterator->new($dir, %opts); push @paths, $_ while <$it>`.\n"
"* [IO::All](https://metacpan.org/pod/IO::All) – `@paths = map { \"$_\" } grep { -f $_ && $_->size > 10*1024 } io(\".\")->all(0)`.\n"
"* [IO::All::Rule](https://metacpan.org/pod/IO::All::Rule) – `$next = IO::All::Rule->new->file->size(\">10k\")->iter($dir1, $dir2); push @paths, \"$f\" while $f = $next->()`.\n"
"* [File::Find](https://metacpan.org/pod/File::Find) – `find( sub { push @paths, $File::Find::name if /\\.png/ }, $dir )`.\n"
"* [File::Find::utf8](https://metacpan.org/pod/File::Find::utf8) – как [File::Find](https://metacpan.org/pod/File::Find), только пути файлов в _utf8_.\n"
"* [File::Find::Age](https://metacpan.org/pod/File::Find::Age) – сортирует файлы по времени модификации (наследует [File::Find::Rule](https://metacpan.org/pod/File::Find::Rule)): `File::Find::Age->in($dir1...
"* [File::Find::Declare](https://metacpan.org/pod/File::Find::Declare) – `@paths = File::Find::Declare->new({ size => '>10K', perms => 'wr-wr-wr-', modified => '<2010-01-30', recurse => 1, dirs => [$dir1] })->find`.\n"
"* [File::Find::Iterator](https://metacpan.org/pod/File::Find::Iterator) – имеет ООП интерфейс с итератором и функции `imap` и `igrep`.\n"
"* [File::Find::Match](https://metacpan.org/pod/File::Find::Match) – вызывает обработчик на каждый подошедший фильтр. Похож на `switch`.\n"

i18n/Aion/Fs.ru-en.po  view on Meta::CPAN

"* [File::Wildcard::Find](https://metacpan.org/pod/File::Wildcard::Find) – `findbegin($dir); push @paths, $f while $f = findnext()` or `findbegin($dir); @paths = findall()`.\n"
"* [File::Util](https://metacpan.org/pod/File::Util) – `File::Util->new->list_dir($dir, qw/ --pattern=\\.txt$ --files-only --recurse /)`.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `say for path($path)->list_tree({hidden => 1, dir => 1})->each`.\n"
"* [Path::Find](https://metacpan.org/pod/Path::Find) – `@paths = path_find( $dir, \"*.png\" )`. For complex queries, use _matchable_: `my $sub = matchable( sub { my( $entry, $directory, $fullname, $depth ) = @_; $depth <= 3 }`.\n"
"* [Path::Extended::Dir](https://metacpan.org/pod/Path::Extended::Dir) – `@paths = Path::Extended::Dir->new($dir)->find('*.txt')`.\n"
"* [Path::Iterator::Rule](https://metacpan.org/pod/Path::Iterator::Rule) – `$i = Path::Iterator::Rule->new->file; @paths = $i->clone->size(\">10k\")->all(@dirs); $i->size(\"<10k\")...`.\n"
"* [Path::Class::Each](https://metacpan.org/pod/Path::Class::Each) – `dir($dir)->each(sub { push @paths, \"$_\" })`.\n"
"* [Path::Class::Iterator](https://metacpan.org/pod/Path::Class::Iterator) – `$i = Path::Class::Iterator->new(root => $dir, depth => 2); until ($i->done) { push @paths, $i->next->stringify }`.\n"
"* [Path::Class::Rule](https://metacpan.org/pod/Path::Class::Rule) – `@paths = Path::Class::Rule->new->file->size(\">10k\")->all($dir)`."

msgid "Говорит `find` не входить в каталоги соответствующие фильтрам за ним."
msgstr "Tells `find` not to enter directories matching the filters behind it."

msgid "Вызывает `&block` для каждой ошибки возникающей при невозможности войти в какой-либо каталог."
msgstr "Calls `&block` for every error that occurs when a directory cannot be entered."

msgid "Останавливает `find` будучи вызван в одном из его фильтров, `errorenter` или `noenter`."
msgstr "Stops `find` being called in one of its filters, `errorenter` or `noenter`."

msgid "Удаляет файлы и пустые каталоги. Возвращает `@paths`. При ошибке ввода-вывода выбрасывает исключение."
msgstr "Removes files and empty directories. Returns `@paths`. If there is an I/O error, it throws an exception."

msgid ""
"* `unlink` + `rmdir`.\n"
"* [File::Path](https://metacpan.org/pod/File::Path) – `remove_tree(\"dir\")`.\n"
"* [File::Path::Tiny](https://metacpan.org/pod/File::Path::Tiny) – `File::Path::Tiny::rm($path)`. Не выбрасывает исключений.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->remove`."
msgstr ""
"* `unlink` + `rmdir`.\n"
"* [File::Path](https://metacpan.org/pod/File::Path) – `remove_tree(\"dir\")`.\n"
"* [File::Path::Tiny](https://metacpan.org/pod/File::Path::Tiny) – `File::Path::Tiny::rm($path)`. Does not throw exceptions.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->remove`."

msgid "Заменяет каждый файл на `$_`, если его изменяет `&sub`. Возвращает файлы, в которых не было замен."
msgstr "Replaces each file with `$_` if it is modified by `&sub`. Returns files that have no replacements."

msgid "`@files` может содержать массивы из двух элементов. Первый рассматривается как путь, а второй – как слой. Слой по умолчанию – `:utf8`."
msgstr "`@files` can contain arrays of two elements. The first is considered as a path, and the second as a layer. The default layer is `:utf8`."

msgid "`&sub` вызывается для каждого файла из `@files`. В неё передаются:"
msgstr "`&sub` is called for each file in `@files`. It transmits:"

msgid ""
"* `$_` – содержимое файла.\n"
"* `$a` – путь к файлу.\n"
"* `$b` – слой которым был считан файл и которым он будет записан."
msgstr ""
"* `$_` – file contents.\n"
"* `$a` – path to the file.\n"
"* `$b` – the layer with which the file was read and with which it will be written."

msgid "В примере ниже файл \"replace.ex\" считывается слоем `:utf8`, а записывается слоем `:raw` в функции `replace`:"
msgstr "In the example below, the file \"replace.ex\" is read by the `:utf8` layer and written by the `:raw` layer in the `replace` function:"

msgid ""
"* [File::Edit](https://metacpan.org/pod/File::Edit) – `File::Edit->new($file)->replace('x', 'y')->save`.\n"
"* [File::Edit::Portable](https://metacpan.org/pod/File::Edit::Portable) – `File::Edit::Portable->new->splice(file => $file, line => 10, contens => [\"line1\", \"line2\"])`.\n"
"* [File::Replace](https://metacpan.org/pod/File::Replace) – `($infh,$outfh,$repl) = replace3($file); while (<$infh>) { print $outfh \"X: $_\" } $repl->finish`.\n"
"* [File::Replace::Inplace](https://metacpan.org/pod/File::Replace::Inplace)."
msgstr ""
"* [File::Edit](https://metacpan.org/pod/File::Edit) – `File::Edit->new($file)->replace('x', 'y')->save`.\n"
"* [File::Edit::Portable](https://metacpan.org/pod/File::Edit::Portable) – `File::Edit::Portable->new->splice(file => $file, line => 10, contens => [\"line1\", \"line2\"])`.\n"
"* [File::Replace](https://metacpan.org/pod/File::Replace) – `($infh,$outfh,$repl) = replace3($file); while (<$infh>) { print $outfh \"X: $_\" } $repl->finish`.\n"
"* [File::Replace::Inplace](https://metacpan.org/pod/File::Replace::Inplace)."

msgid "Как **mkdir -p**, но считает последнюю часть пути (после последней косой черты) именем файла и не создаёт её каталогом. Без параметра исполÑ...
msgstr "Like **mkdir -p**, but considers the last part of the path (after the last slash) to be a filename and does not create it as a directory. Without a parameter, uses `$_`."

msgid ""
"* Если `$path` не указан, использует `$_`.\n"
"* Если `$path` является ссылкой на массив, тогда используется путь в качестве первого элемента и права в качестве второго элемента.\n"
"* Права по умолчанию – `0755`.\n"
"* Возвращает `$path`."
msgstr ""
"* If `$path` is not specified, use `$_`.\n"
"* If `$path` is an array reference, then the path is used as the first element and rights as the second element.\n"
"* Default permissions are `0755`.\n"
"* Returns `$path`."

msgid "* [File::Path](https://metacpan.org/pod/File::Path) – `mkpath(\"dir1/dir2\")`.\n"
"* [File::Path::Tiny](https://metacpan.org/pod/File::Path::Tiny) – `File::Path::Tiny::mk($path)`. Не выбрасывает исключений."
msgstr "* [File::Path](https://metacpan.org/pod/File::Path) – `mkpath(\"dir1/dir2\")`.\n"
"* [File::Path::Tiny](https://metacpan.org/pod/File::Path::Tiny) – `File::Path::Tiny::mk($path)`. Does not throw exceptions."

msgid "Время модификации `$path` в unixtime с дробной частью (из `Time::HiRes::stat`). Без параметра использует `$_`."
msgstr "Modification time of `$path` in unixtime with fractional part (from `Time::HiRes::stat`). Without a parameter, uses `$_`."

msgid ""
"* `-M` – `-M \"file.txt\"`, `-M _` в днях от текущего времени.\n"
"* [stat](https://metacpan.org/pod/stat) – `(stat \"file.txt\")[9]` в секундах (unixtime).\n"
"* [Time::HiRes](https://metacpan.org/pod/Time::HiRes) – `(Time::HiRes::stat \"file.txt\")[9]` в секундах с дробной частью.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->stat->mtime`."
msgstr ""
"* `-M` – `-M \"file.txt\"`, `-M _` in days from the current time.\n"
"* [stat](https://metacpan.org/pod/stat) – `(stat \"file.txt\")[9]` in seconds (unixtime).\n"
"* [Time::HiRes](https://metacpan.org/pod/Time::HiRes) – `(Time::HiRes::stat \"file.txt\")[9]` in seconds with fractional part.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->stat->mtime`."

msgid "Возвращает статистику о файле. Без параметра использует `$_`."
msgstr "Returns statistics about the file. Without a parameter, uses `$_`."

msgid "Чтобы можно было использовать с другими файловыми функциями, может получать ссылку на массив из которого берёт первый элемент в качÐ...
msgstr "To be used with other file functions, it can receive a reference to an array from which it takes the first element as the file path."

msgid "Выбрасывает исключение, если файл не существует или нет прав:"
msgstr "Throws an exception if the file does not exist or does not have permission:"

msgid ""
"* [Fcntl](https://metacpan.org/pod/Fcntl) – содержит константы для распознавания режима.\n"
"* [BSD::stat](https://metacpan.org/pod/BSD::stat) – дополнительно возвращает atime, ctime и mtime в наносекундах, флаги пользователя и номер генерации файла. Имеет ОО...
"* [File::chmod](https://metacpan.org/pod/File::chmod) – `chmod(\"o=,g-w\",\"file1\",\"file2\")`, `@newmodes = getchmod(\"+x\",\"file1\",\"file2\")`.\n"
"* [File::stat](https://metacpan.org/pod/File::stat) – предоставляет ООП-интерфейс к stat.\n"
"* [File::Stat::Bits](https://metacpan.org/pod/File::Stat::Bits) – аналогичен [Fcntl](https://metacpan.org/pod/Fcntl).\n"
"* [File::stat::Extra](https://metacpan.org/pod/File::stat::Extra) – расширяет [File::stat](https://metacpan.org/pod/File::stat) методами для получения информации о режиме, а так же перезаг...
"* [File::Stat::Ls](https://metacpan.org/pod/File::Stat::Ls) – возвращает режим в формате утилиты ls.\n"
"* [File::Stat::Moose](https://metacpan.org/pod/File::Stat::Moose) – ООП интерфейс на Moose.\n"
"* [File::Stat::OO](https://metacpan.org/pod/File::Stat::OO) – предоставляет ООП-интерфейс к stat. Может возвращать atime, ctime и mtime сразу в `DateTime`.\n"
"* [File::Stat::Trigger](https://metacpan.org/pod/File::Stat::Trigger) – следилка за изменением атрибутов файла.\n"

i18n/Aion/Fs.ru-en.po  view on Meta::CPAN

"* [File::Stat::Bits](https://metacpan.org/pod/File::Stat::Bits) - similar to [Fcntl](https://metacpan.org/pod/Fcntl).\n"
"* [File::stat::Extra](https://metacpan.org/pod/File::stat::Extra) – extends [File::stat](https://metacpan.org/pod/File::stat) methods to obtain information about the mode, and also reloads **-X**, **<=>**, **cmp** and **~~** operators and is strin...
"* [File::Stat::Ls](https://metacpan.org/pod/File::Stat::Ls) – returns the mode in the format of the ls utility.\n"
"* [File::Stat::Moose](https://metacpan.org/pod/File::Stat::Moose) – OOP interface for Moose.\n"
"* [File::Stat::OO](https://metacpan.org/pod/File::Stat::OO) – provides an OOP interface to stat. Can return atime, ctime and mtime at once in `DateTime`.\n"
"* [File::Stat::Trigger](https://metacpan.org/pod/File::Stat::Trigger) – monitors changes in file attributes.\n"
"* [Linux::stat](https://metacpan.org/pod/Linux::stat) – parses /proc/stat and returns additional information. However, it does not work on other OSes.\n"
"* [Stat::lsMode](https://metacpan.org/pod/Stat::lsMode) – returns the mode in the ls utility format.\n"
"* [VMS::Stat](https://metacpan.org/pod/VMS::Stat) - returns VMS ACLs."

msgid "Разбивает файловый путь на составляющие или собирает его из составляющих."
msgstr "Splits a file path into its components or assembles it from its components."

msgid ""
"* Если получает ссылку на массив, то воспринимает его первый элемент как путь.\n"
"* Если получает ссылку на хэш, то собирает из него путь. Незнакомые ключи просто игнорирует. Набор ключей для каждой ФС – разный.\n"
"* ФС берётся из системной переменной `$^O`.\n"
"* К файловой системе не обращается."
msgstr ""
"* If it receives a reference to an array, it treats its first element as a path.\n"
"* If it receives a link to a hash, it collects a path from it. Unfamiliar keys are simply ignored. The set of keys for each FS is different.\n"
"* FS is taken from the system variable `$^O`.\n"
"* The file system is not accessed."

msgid "Модули для определения ОС, а значит и определения, какие в ОС файловые пути:"
msgstr "Modules for determining the OS, and therefore determining what file paths are in the OS:"

msgid ""
"* `$^O` – суперглобальная переменная с названием текущей ОС.\n"
"* [Devel::CheckOS](https://metacpan.org/pod/Devel::CheckOS), [Perl::OSType](https://metacpan.org/pod/Perl::OSType) – определяют ОС.\n"
"* [Devel::AssertOS](https://metacpan.org/pod/Devel::AssertOS) – запрещает использовать модуль вне указанных ОС.\n"
"* [System::Info](https://metacpan.org/pod/System::Info) – информация об ОС, её версии, дистрибутиве, CPU и хосте."
msgstr ""
"* `$^O` – superglobal variable with the name of the current OS.\n"
"* [Devel::CheckOS](https://metacpan.org/pod/Devel::CheckOS), [Perl::OSType](https://metacpan.org/pod/Perl::OSType) – define the OS.\n"
"* [Devel::AssertOS](https://metacpan.org/pod/Devel::AssertOS) – prohibits the use of the module outside the specified OS.\n"
"* [System::Info](https://metacpan.org/pod/System::Info) – information about the OS, its version, distribution, CPU and host."

msgid "Выделяют части файловых путей:"
msgstr "Parts of file paths are distinguished:"

msgid ""
"* [File::Spec](https://metacpan.org/pod/File::Spec) – `($volume, $directories, $file) = File::Spec->splitpath($path)`. Поддерживает только unix, win32, os/2, vms, cygwin и amigaos.\n"
"* [File::Spec::Functions](https://metacpan.org/pod/File::Spec::Functions) – `($volume, $directories, $file) = splitpath($path)`.\n"
"* [File::Spec::Mac](https://metacpan.org/pod/File::Spec::Mac) – входит в [File::Spec](https://metacpan.org/pod/File::Spec), но не определяется им, поэтому приходится использовать отдельн...
"* [File::Basename](https://metacpan.org/pod/File::Basename) – `($name, $path, $suffix) = fileparse($fullname, @suffixlist)`.\n"
"* [Path::Class::File](https://metacpan.org/pod/Path::Class::File) – `file('foo', 'bar.txt')->is_absolute`.\n"
"* [Path::Extended::File](https://metacpan.org/pod/Path::Extended::File) – `Path::Extended::File->new($file)->basename`.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->extname`.\n"
"* [Path::Util](https://metacpan.org/pod/Path::Util) – `$filename = basename($dir)`.\n"
"* [Parse::Path](https://metacpan.org/pod/Parse::Path) – `Parse::Path->new(path => 'gophers[0].food.count', style => 'DZIL')->push(\"chunk\")`. Работает с путями как с массивами (`push`, `pop`, `shift`, `splice`). Так...
msgstr ""
"* [File::Spec](https://metacpan.org/pod/File::Spec) – `($volume, $directories, $file) = File::Spec->splitpath($path)`. Only supports unix, win32, os/2, vms, cygwin and amigaos.\n"
"* [File::Spec::Functions](https://metacpan.org/pod/File::Spec::Functions) - `($volume, $directories, $file) = splitpath($path)`.\n"
"* [File::Spec::Mac](https://metacpan.org/pod/File::Spec::Mac) - included in [File::Spec](https://metacpan.org/pod/File::Spec), but not defined by it, so it has to be used separately. For mac os version 9.\n"
"* [File::Basename](https://metacpan.org/pod/File::Basename) – `($name, $path, $suffix) = fileparse($fullname, @suffixlist)`.\n"
"* [Path::Class::File](https://metacpan.org/pod/Path::Class::File) – `file('foo', 'bar.txt')->is_absolute`.\n"
"* [Path::Extended::File](https://metacpan.org/pod/Path::Extended::File) – `Path::Extended::File->new($file)->basename`.\n"
"* [Mojo::File](https://metacpan.org/pod/Mojo::File) – `path($file)->extname`.\n"
"* [Path::Util](https://metacpan.org/pod/Path::Util) - `$filename = basename($dir)`.\n"
"* [Parse::Path](https://metacpan.org/pod/Parse::Path) – `Parse::Path->new(path => 'gophers[0].food.count', style => 'DZIL')->push(\"chunk\")`. Works with paths as arrays (`push`, `pop`, `shift`, `splice`). It also overloads comparison operators. I...

msgid "Переводит путь из формата одной ОС в другую."
msgstr "Converts a path from one OS format to another."

msgid "Если `$path` не указан, то используется `$_`."
msgstr "If `$path` is not specified, `$_` is used."

msgid "Перечень поддерживаемых ОС смотрите в примерах подпрограммы `path` чуть выше или так: `keys %Aion::Fs::FS`."
msgstr "For a list of supported operating systems, see the examples of the `path` subroutine just above or like this: `keys %Aion::Fs::FS`."

msgid "Названия ОС – регистронезависимы."
msgstr "OS names are case insensitive."

msgid "Разбивает директорию на составляющие. Директорию следует вначале получить из `path->{dir}`."
msgstr "Splits a directory into components. The directory should first be obtained from `path->{dir}`."

msgid "Объединяет директорию из составляющих. Затем полученную директорию следует включить в `path +{dir => $dir}`."
msgstr "Combines a directory from its components. The resulting directory should then be included in `path +{dir => $dir}`."

msgid "Разбивает расширение на составляющие. Расширение следует вначале получить из `path->{ext}`."
msgstr "Breaks the extension into its components. The extension should first be obtained from `path->{ext}`."

msgid "Объединяет расширение из составляющих. Затем полученное расширение следует включить в `path +{ext => $ext}`."
msgstr "Combines an extension from its components. The resulting extension should then be included in `path +{ext => $ext}`."

msgid "Подключает `$pkg` (если он ещё не был подключён через `use` или `require`) и возвращает его. Без параметра использует `$_`."
msgstr "Connects `$pkg` (if it has not already been connected via `use` or `require`) and returns it. Without a parameter, uses `$_`."

msgid "Файл lib/A.pm:"
msgstr "lib/A.pm file:"

msgid "Файл lib/N.pm:"
msgstr "lib/N.pm file:"

msgid "Считывает файл в первый раз. Любая последующая попытка считать этот файл возвращает `undef`. Используется для вставки модулей js и css в ре...
msgstr "Reads the file for the first time. Any subsequent attempt to read this file returns `undef`. Used to insert js and css modules into the resulting file. Without a parameter, uses `$_`."

msgid "* `$file` может содержать массивы из двух элементов. Первый рассматривается как путь, а второй – как слой. Слой по умолчанию – `:utf8`.\n"
"* Если `$file` не указан – использует `$_`."
msgstr "* `$file` can contain arrays of two elements. The first is considered as a path, and the second as a layer. The default layer is `:utf8`.\n"
"* If `$file` is not specified, use `$_`."

msgid "Переводит файловую маску в регулярное выражение. Без параметра использует `$_`."
msgstr "Converts a file mask to a regular expression. Without a parameter, uses `$_`."

msgid ""
"* `**` - `[^/]*`\n"
"* `*` - `.*`\n"
"* `?` - `.`\n"
"* `??` - `[^/]`\n"
"* `{` - `(`\n"
"* `}` - `)`\n"
"* `,` - `|`\n"
"* Остальные символы экранируются с помощью `quotemeta`."
msgstr ""
"* `**` - `[^/]*`\n"
"* `*` - `.*`\n"
"* `?` - `.`\n"
"* `??` - `[^/]`\n"
"* `{` - `(`\n"
"* `}` - `)`\n"
"* `,` - `|`\n"
"* Other characters are escaped using `quotemeta`."

msgid "Используется в фильтрах функции `find`."
msgstr "Used in filters of the `find` function."

msgid ""
"* [File::Wildcard](https://metacpan.org/pod/File::Wildcard).\n"
"* [String::Wildcard::Bash](https://metacpan.org/pod/String::Wildcard::Bash).\n"
"* [Text::Glob](https://metacpan.org/pod/Text::Glob) – `glob_to_regex(\"*.{pm,pl}\")`."
msgstr ""
"* [File::Wildcard](https://metacpan.org/pod/File::Wildcard).\n"
"* [String::Wildcard::Bash](https://metacpan.org/pod/String::Wildcard::Bash).\n"
"* [Text::Glob](https://metacpan.org/pod/Text::Glob) – `glob_to_regex(\"*.{pm,pl}\")`."

msgid "Открывает файл в редакторе из .config на указанной строке. По умолчанию использует `vscodium %p:%l`."
msgstr "Opens the file in the editor from .config at the specified line. Defaults to `vscodium %p:%l`."

msgid "Файл .config.pm:"
msgstr ".config.pm file:"

msgid "Переводит пакет в путь ФС. Без параметра использует `$_`."
msgstr "Transfers the packet to the FS path. Without a parameter, uses `$_`."

msgid "Переводит путь из ФС в пакет. Без параметра использует `$_`."
msgstr "Translates the path from the FS to the package. Without a parameter, uses `$_`."

msgid "Переводит пакет в путь ФС в `@INC`. Файл с пакетом должен существовать в одном из путей `@INC`. Без параметра использует `$_`."
msgstr "Translates the packet to the FS path in `@INC`. The package file must exist in one of the `@INC` paths. Without a parameter, uses `$_`."

msgid "Переводит путь из ФС в `@INC` в пакет. Без параметра использует `$_`."
msgstr "Translates the path from FS to `@INC` into a package. Without a parameter, uses `$_`."

msgid "Создаёт файловый дескриптор. Он умеет закрываться, как только на него исчезнет последняя ссылка."
msgstr "Creates a file descriptor. It knows how to close as soon as the last link to it disappears."

msgid "Так же имеет метод `path`, к-й возвращает путь к файлу."
msgstr "It also has a `path` method, which returns the path to the file."

msgid "Создаёт файловый дескриптор с возможностью автозакрытия, как только пропадёт последняя на него ссылка."
msgstr "Creates a file descriptor with the ability to auto-close as soon as the last link to it disappears."

msgid "Так же имеет метод `path` возвращающий переданный в него путь."
msgstr "It also has a `path` method that returns the path passed to it."

msgid "Мы находимся в ОС семейства UNIX."
msgstr "We are on a UNIX family OS."

msgid "âš– **GPLv3**"
msgstr "âš– **GPLv3**"

msgid "The Aion::Fs is copyright © 2023 by Yaroslav O. Kosmina. Rusland. All rights reserved."
msgstr "The Aion::Fs is copyright © 2023 by Yaroslav O. Kosmina. Rusland. All rights reserved."

i18n/Aion/Fs/Find.ru-en.po  view on Meta::CPAN

msgid "Aion::Fs::Find - итератор поиска файлов для Aion::Fs#find"
msgstr "Aion::Fs::Find - file search iterator for Aion::Fs#find"

msgid "Итератор поиска файлов для функции-адаптера `find` из модуля `Aion::Fs`."
msgstr "File search iterator for the `find` adapter function from the `Aion::Fs` module."

msgid "Отдельно использовать не предполагается."
msgstr "Not intended to be used separately."

msgid "Обладает перегруженными операторами  `<>`, `@{}` и `&{}`."
msgstr "It has overloaded `<>`, `@{}` and `&{}` operators."

msgid "Конструктор."
msgstr "Constructor."

msgid "Следующая итерация."
msgstr "Next iteration."

msgid "âš– **GPLv3**"
msgstr "âš– **GPLv3**"

msgid "The Aion::Fs::Find module is copyright © 2025 Yaroslav O. Kosmina. Rusland. All rights reserved."
msgstr "The Aion::Fs::Find module is copyright © 2025 Yaroslav O. Kosmina. Rusland. All rights reserved."

lib/Aion/Fs.pm  view on Meta::CPAN

	($file) = @$file if ref $file;
	(Time::HiRes::stat $file)[MTIME_NO] // die "mtime $file: $!"
}

# Информация о файле в виде хеша
sub sta(;$) {
	my ($path) = @_ == 0? $_: @_;
	($path) = @$path if ref $path;
	
	my %sta = (path => $path);
	@sta{qw/dev ino mode nlink uid gid rdev size atime mtime ctime blksize blocks/} = Time::HiRes::stat $path or die "sta $path: $!";
# 	@sta{qw/
# 		 user_can_exec user_can_read   user_can_write
# 		group_can_exec group_can_read group_can_write
# 		other_can_exec other_can_read other_can_write
# 	/} = (
# 		
# 	);
	\%sta
}



( run in 0.598 second using v1.01-cache-2.11-cpan-5735350b133 )