Treex::Core::Resource - Access to shared resources


version 2.20210102


use Treex::Core::Resource qw(require_file_from_share); my $path = require_file_from_share('relative/path/to/file/within/Treex/Share'); open my $MODEL, '<', $path or log_fatal($!);

# or my $path = require_file_from_share('./relative/path/from/the/current/directory'); my $path = require_file_from_share('/absolute/path');


This module provides access to shared resources (e.g. models). First it tries to locate it on local computer. If not found, download from server ( If the path starts with "." or "/" it is searched in the local file system (and not in Treex Share).


require_file_from_share($path_to_file, $who_wants_it, $make_executable, $skip_download)

Try to locate file in local resource paths, if not found, try to download it and stores it to first writable path. Obtains paths from Treex::Core::Config->resource_path() Returns path to file.

If $make_executable is true, execute rights are set on the downloaded file.

If $skip_download is true, automatic download is skipped and only the path tho the file or the first writable path is returned. The caller block must check the existence of the file and handle the download itself (useful for downloading and unpacking of larger archives).


Zdeněk Žabokrtský <>

Tomáš Kraut <>

Martin Popel <>


Copyright © 2011,2015 by Institute of Formal and Applied Linguistics, Charles University in Prague

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.