On 10/30/25 4:44 AM, ToddAndMargo via perl6-users wrote:
I am missing what run does with (not finding them in https://docs.raku.org/routine/run)
Care of search.brave.com's AI, this is what I am finding. I am not sure of what is accurate and what is "AI slop" though:
:$cwd
https://search.brave.com/search?q=raku+what+is+%3A%24cwd+&summary=1&conversation=783875ea252b2bde84a599 In Raku, :$CWD is a named argument used when creating an IO::Path object to specify the current working directory that the path is relative to. This value defaults to the global variable $*CWD, which holds the current working directory of the program. The :$CWD argument is passed to the IO::Path.new method and is stored as the $.CWD attribute of the resulting IO::Path object. This attribute is read-only and is used during path resolution and stringification operations. The :$CWD argument allows for explicit control over the base directory for relative paths, which is particularly useful in testing or when working with paths in different contexts. Sounds like if you do not put the path of your program in and it is not in the default path, that you can set the path with :$cmd. Am I gettig this right?
:$env
https://search.brave.com/search?q=raku+what+is+%3A%24env&summary=1&conversation=d7e602378b67e0046370d0 In Raku, :$env is not a standard or predefined variable. However, the syntax :$var in Raku is used to create a named parameter in a subroutine signature that expects a value for the named parameter var. For example, :$env would expect a named argument env when calling a subroutine. If you are referring to environment variables in Raku, the correct way to access them is through the %*ENV hash, which contains the environment variables of the underlying operating system. For instance, you can retrieve an environment variable like API_KEY using %*ENV<API_KEY> or :$API_KEY in a signature to bind it to a variable. The :$env syntax might be confused with the env variable in Rack middleware, which is a hash containing details about the HTTP request and environment in Ruby on Rails applications, but this is unrelated to Raku. In Raku, environment variables are accessed via %*ENV, and there is no built-in :$env variable. I am completely lost.
:$arg0 and
https://search.brave.com/search?q=raku+what+is+%3A%24arg0&summary=1&conversation=06ac2b89c0e415523f6cb7 In Raku, the :$arg0 parameter is an optional named argument used within the run subroutine to specify the value of the argv for the process being executed. This argument allows you to set the name of the program as it appears in the process list or within the program's own argument vector. It is particularly useful when you want to control how the executed program identifies itself, which can be important for logging, debugging, or compatibility with programs that rely on their own name being set in a specific way. What is argv and why would I use this?
:$win-verbatim-args
https://search.brave.com/search?q=raku+what+is+%3A%24win-verbatim-args&summary=1&conversation=245e089c41b17b4984d86e In Raku, the :$win-verbatim-args parameter is a flag used with the spawn, shell, and Proc::Async.new methods to control how command-line arguments are quoted on Windows systems. When set to True, it disables the automatic quoting of process arguments according to Microsoft conventions, and instead concatenates the arguments with a single space, allowing the user to manually handle quoting as needed. This flag is ignored on non-Windows platforms. It was introduced in Rakudo version 2020.06 and is not available in older releases. By default, :$win-verbatim-args is set to False, which maintains the previous behavior of quoting arguments according to Microsoft standards. Not sure why I would what tho use this. I do know that Raku has had a problem in Windows with arguments with spaces in them surrounded by quotes. My work around is to create a batch file and call the batch file with what I need. Yours in Confusion, -T
