I think this is the classic case of ?-twigilled, "compile-time" variables only being available in modules. It kind of forces you to always have the pattern of: heavy-lifting in a module inside lib, and the script just uses the module.

On 2023. 04. 17. 18:01, David Santiago wrote:
I'm trying to use the variable %?RESOURCES without success. It doesn't
work even when i install it locally with zef

I have the following:

demanuel@archlinux test> cat resources/text.txt
This is my test file
demanuel@archlinux test> cat bin/run-me
sub MAIN(){
     say %?RESOURCES{"text.txt"}.slurp(:close);
}
demanuel@archlinux test> cat META6.json
{
   "raku" : "6.d",
   "name" : "Test",
   "api"  : "1",
   "auth" : "demanuel",
   "version" : "0.0.1",
   "description" : "my resources test",
   "authors" : [ "demanuel" ],
   "license" : "GPLv3",
   "resources": [
     "text.txt"
   ]
}
demanuel@archlinux test> tree
.
├── bin
│   └── run-me
├── lib
├── META6.json
└── resources
     └── text.txt

4 directories, 3 files
demanuel@archlinux test> raku -I ./lib bin/run-me
Nil
demanuel@archlinux test> zef install .
===> Testing: Test:ver<0.0.1>:auth<demanuel>:api<1>
===> Testing [OK] for Test:ver<0.0.1>:auth<demanuel>:api<1>
===> Installing: Test:ver<0.0.1>:auth<demanuel>:api<1>

1 bin/ script [run-me] installed to:
/home/demanuel/.raku/bin
demanuel@archlinux test> run-me
Nil
demanuel@archlinux test>




Can someone point me what i'm doing wrong?

Best regards,
David Santiago

Reply via email to