{"id":16932573,"url":"https://github.com/shogo82148/actions-setup-perl","last_synced_at":"2026-04-01T20:51:51.504Z","repository":{"id":37359416,"uuid":"205511355","full_name":"shogo82148/actions-setup-perl","owner":"shogo82148","description":"Setup Perl environment Action","archived":false,"fork":false,"pushed_at":"2026-03-31T03:46:06.000Z","size":50107,"stargazers_count":98,"open_issues_count":17,"forks_count":9,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-03-31T11:35:48.910Z","etag":null,"topics":["github-actions","perl"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/setup-perl-environment","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shogo82148.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["shogo82148"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-08-31T07:25:26.000Z","updated_at":"2026-03-31T03:46:09.000Z","dependencies_parsed_at":"2026-03-09T06:08:28.859Z","dependency_job_id":null,"html_url":"https://github.com/shogo82148/actions-setup-perl","commit_stats":{"total_commits":1986,"total_committers":9,"mean_commits":"220.66666666666666","dds":0.6727089627391742,"last_synced_commit":"cd3e37144de7879fe8024d23c95dbc142473ce66"},"previous_names":[],"tags_count":104,"template":false,"template_full_name":null,"purl":"pkg:github/shogo82148/actions-setup-perl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shogo82148%2Factions-setup-perl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shogo82148%2Factions-setup-perl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shogo82148%2Factions-setup-perl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shogo82148%2Factions-setup-perl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shogo82148","download_url":"https://codeload.github.com/shogo82148/actions-setup-perl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shogo82148%2Factions-setup-perl/sbom","scorecard":{"id":820327,"data":{"date":"2025-08-11","repo":{"name":"github.com/shogo82148/actions-setup-perl","commit":"8c1f43b6306148203b0d1bb3e0b24783769bd8ff"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/3 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: MIT License: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:29","Info: jobLevel 'contents' permission set to 'read': .github/workflows/darwin-arm64.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/darwin-arm64.yml:44","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/darwin-arm64.yml:73","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/darwin-arm64.yml:132","Info: jobLevel 'contents' permission set to 'read': .github/workflows/darwin-x64.yml:44","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/darwin-x64.yml:73","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/darwin-x64.yml:132","Info: jobLevel 'contents' permission set to 'read': .github/workflows/darwin-x64.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/linux-arm64.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/linux-arm64.yml:44","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/linux-arm64.yml:73","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/linux-arm64.yml:132","Info: jobLevel 'contents' permission set to 'read': .github/workflows/linux-x64.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/linux-x64.yml:44","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/linux-x64.yml:73","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/linux-x64.yml:132","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-build-tools.yml:108","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-carton.yml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-cpanm.yml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-cpm.yml:19","Info: jobLevel 'contents' permission set to 'read': .github/workflows/win32.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/win32.yml:44","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/win32.yml:80","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/win32.yml:184","Warn: no topLevel permission defined: .github/workflows/check-dist.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/darwin-arm64.yml:1","Warn: no topLevel permission defined: .github/workflows/darwin-x64.yml:1","Warn: no topLevel permission defined: .github/workflows/linux-arm64.yml:1","Warn: no topLevel permission defined: .github/workflows/linux-x64.yml:1","Warn: no topLevel permission defined: .github/workflows/test-cpan-installer.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: no topLevel permission defined: .github/workflows/update-build-tools.yml:1","Warn: no topLevel permission defined: .github/workflows/update-carton.yml:1","Warn: no topLevel permission defined: .github/workflows/update-cpanm.yml:1","Warn: no topLevel permission defined: .github/workflows/update-cpm.yml:1","Warn: no topLevel permission defined: .github/workflows/win32.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: containerImage not pinned by hash: author/carton/Dockerfile:1: pin your Docker image by updating alpine:3.18.0 to alpine:3.18.0@sha256:02bb6f428431fbc2809c5d1b41eab5a68350194fb508869a33cb1af4444c9b11","Warn: containerImage not pinned by hash: author/cpanm/Dockerfile:3: pin your Docker image by updating alpine:3.18.0 to alpine:3.18.0@sha256:02bb6f428431fbc2809c5d1b41eab5a68350194fb508869a33cb1af4444c9b11","Warn: containerImage not pinned by hash: author/cpm/Dockerfile:1: pin your Docker image by updating alpine:3.18.0 to alpine:3.18.0@sha256:02bb6f428431fbc2809c5d1b41eab5a68350194fb508869a33cb1af4444c9b11","Warn: downloadThenRun not pinned by hash: author/carton/Dockerfile:6","Warn: downloadThenRun not pinned by hash: author/carton/Dockerfile:12-13","Warn: downloadThenRun not pinned by hash: author/cpanm/Dockerfile:8","Warn: downloadThenRun not pinned by hash: author/cpanm/Dockerfile:14","Warn: downloadThenRun not pinned by hash: author/cpm/Dockerfile:6","Warn: downloadThenRun not pinned by hash: author/cpm/Dockerfile:12","Warn: pipCommand not pinned by hash: .github/workflows/win32.yml:157","Warn: pipCommand not pinned by hash: .github/workflows/win32.yml:256","Info:  85 out of  85 GitHub-owned GitHubAction dependencies pinned","Info:  10 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   6 downloadThenRun dependencies pinned","Info:   5 out of   5 npmCommand dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"internal error: error during graphqlHandler.setup: internal error: githubv4.Query: GET https://api.github.com/repos/shogo82148/actions-setup-perl/releases: 504 We couldn't respond to your request in time. Sorry about that. Please try resubmitting your request and contact us if the problem persists. []","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}}]},"last_synced_at":"2025-08-23T15:20:45.615Z","repository_id":37359416,"created_at":"2025-08-23T15:20:45.615Z","updated_at":"2025-08-23T15:20:45.615Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","perl"],"created_at":"2024-10-13T20:46:59.932Z","updated_at":"2026-04-01T20:51:51.478Z","avatar_url":"https://github.com/shogo82148.png","language":"Perl","funding_links":["https://github.com/sponsors/shogo82148"],"categories":[],"sub_categories":[],"readme":"# actions-setup-perl\n\n[![Main workflow](https://github.com/shogo82148/actions-setup-perl/actions/workflows/test.yml/badge.svg)](https://github.com/shogo82148/actions-setup-perl/actions/workflows/test.yml)\n\n![social preview](social-preview.png)\n\nPerl 5 camel from [perl-assets](https://github.com/metacpan/perl-assets/),\nlicense [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)\n\nThis action sets by perl environment for use in actions by:\n\n- optionally downloading and caching a version of perl\n- registering problem matchers for error output\n\n# Usage\n\nSee [action.yml](action.yml)\n\nBasic:\n\n```yaml\nsteps:\n  - uses: actions/checkout@v4\n  - uses: shogo82148/actions-setup-perl@v1\n    with:\n      perl-version: \"5.38\"\n  - run: cpanm --installdeps .\n  - run: prove -lv t\n```\n\nInstall CPAN Modules from cpanfile and cache them:\n\n```yaml\nsteps:\n  - uses: actions/checkout@v4\n  - uses: shogo82148/actions-setup-perl@v1\n    with:\n      perl-version: \"5.38\"\n      install-modules-with: cpanm\n      install-modules-args: --with-develop --with-configure\n  - run: prove -lv t\n```\n\nMatrix Testing:\n\n```yaml\njobs:\n  build:\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        os: [\"ubuntu-latest\", \"macos-latest\", \"windows-latest\"]\n        perl: [\"5.38\", \"5.36\", \"5.34\"]\n    name: Perl ${{ matrix.perl }} on ${{ matrix.os }}\n    steps:\n      - uses: actions/checkout@v4\n      - name: Set up perl\n        uses: shogo82148/actions-setup-perl@v1\n        with:\n          perl-version: ${{ matrix.perl }}\n      - run: perl -V\n      - run: cpanm --installdeps .\n      - run: prove -lv t\n```\n\n## Use Strawberry Perl on Windows\n\nactions-setup-perl uses the binaries customized for GitHub Actions by default.\nIf you want to use [Strawberry Perl](http://strawberryperl.com/) on Windows, add `distribution: strawberry` into the \"with\" section.\n\n```yaml\nsteps:\n  - uses: actions/checkout@v4\n  - uses: shogo82148/actions-setup-perl@v1\n    with:\n      perl-version: \"5.32\"\n      distribution: strawberry\n  - run: cpanm --installdeps .\n  - run: prove -lv t\n```\n\nThis option is available on Windows and falls back to the default customized binaries on other platforms.\n\n### Supported Platforms\n\nThe action works for [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners).\n\n| Operating System | Supported Versions                                   |\n| ---------------- | ---------------------------------------------------- |\n| Linux            | `ubuntu-22.04`, `ubuntu-24.04`                       |\n| macOS            | `macos-14`, `macos-15`, `macos-15-intel`, `macos-26` |\n| Windows          | `windows-2022`, `windows-2025`                       |\n\n[Self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners) are not supported.\n\n## Action inputs\n\nAll inputs are **optional**. If not set, sensible defaults will be used.\n\n### `perl-version`\n\nSpecifies the Perl version to setup.\nMinor version and patch level can be omitted.\nThe action uses the latest Perl version available that matches the specified value.\nThis defaults to `5`, which results in the latest available version of Perl 5.\nIn addition, the value `latest` is available, the actions uses the latest available version of Perl including `5`, `7` or later major versions.\n\n### `perl-version-file`\n\nSpecifies the path to the version file such as `.perl-version`.\n\n### `distribution`\n\nSpecify the distribution to use, this is either `default` or `strawberry`. (The value `strawberry` is ignored on anything but Windows.)\n\n- Default: `default`\n\n### `multi-thread`\n\nEnables interpreter-based threads (ithread) options (`-Duseithreads`). `true` and `false` are accepted.\n\n- Default: depends on platform. On Linux and macOS, the default value is \"false\" (ithread is disabled). On Windows, the default value is \"true\" (ithread is enable) for fork emulation.\n\n### `install-modules-with`\n\nInstall CPAN modules from your `cpanfile` with the specified installer.\n`cpanm`([App::cpanminus](https://metacpan.org/pod/App::cpanminus)), `cpm`([App::cpm](https://metacpan.org/pod/App::cpm)), and `carton`([Carton](https://metacpan.org/pod/Carton)) are available.\nCPAN modules is installed into `${working-directory}/local/`.\n\n- Default: Nothing. Any CPAN module is not installed.\n\n### `install-modules-args`\n\nThe argument for CPAN module installer.\n\n- Default: Nothing\n\n### `install-modules`\n\nList of one or more CPAN modules, separated by white spaces (space or new line).\nThey are installed `local` directory on your working directory.\n\n- Default: Nothing\n\n### `enable-modules-cache`\n\nEnable caching of the `local` directory at the root of the working directory. `true` enables the cache and `false` disables it.\nThe cache key will be generated by hashing the contents of `cpanfile` in the repository root.\nThis is intended for preserving locally installed modules between builds, which reduces build times.\nSee [Caching dependencies to speed up workflows](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows) for more information.\n\n**Warning:** If your repository does not use a `cpanfile` or if it uses a\nsubdirectory named `local` for a different purpose, you probably want to set\nthis option to `false` to prevent old files from being cached unexpectedly\nbetween builds.\n\n- Default: `true`\n\n### `working-directory`\n\nThe working directory.\n\n- Default: `.`\n\n## Action outputs\n\n### `perl-version`\n\nThe perl version actually installed. (e.g. `\"5.38.2\"`)\n\n### `perl-hash`\n\nThe digest of `perl -V`.\nIt is useful for the cache key, because this value vary the platform, the version of perl, the compiler option for building perl, etc.\n\n# Supported Shells\n\nThe GitHub runner come with a preinstalled version of Perl, used by the system Git. Unfortunately, some shell types prepend the directory containing the system Perl to the `PATH` which makes it impossible to use the Perl installed by this action.\n\n| `shell` parameter       | Linux              | macOS              | Windows (default)  | Windows (Strawberry) |\n| ----------------------- | ------------------ | ------------------ | ------------------ | -------------------- |\n| `bash`                  | :heavy_check_mark: | :heavy_check_mark: | :x:\u003csup\u003e1)\u003c/sup\u003e   | :x:\u003csup\u003e1)\u003c/sup\u003e     |\n| `pwsh`                  | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:   |\n| `python`                | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:   |\n| `sh`                    | :heavy_check_mark: | :heavy_check_mark: | n/a                | n/a                  |\n| `cmd`                   | n/a                | n/a                | :heavy_check_mark: | :heavy_check_mark:   |\n| `powershell`            | n/a                | n/a                | :heavy_check_mark: | :heavy_check_mark:   |\n| custom shell `perl {0}` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark:   |\n\n1. On Windows, the bash shell always gets `/usr/bin` prepended to the `PATH` which contains the system Perl.\n\n# Pre-installed Scripts\n\nThe following Perl scripts are pre-installed for convenience.\n\n- [carton](https://metacpan.org/pod/distribution/Carton/script/carton)\n- [cpanm](https://metacpan.org/pod/distribution/App-cpanminus/bin/cpanm)\n- [cpm](https://metacpan.org/pod/distribution/App-cpm/script/cpm)\n\n# Pre-installed Modules\n\n## CPAN Modules\n\n- [JSON](https://metacpan.org/pod/JSON)\n- [Cpanel::JSON::XS](https://metacpan.org/pod/Cpanel::JSON::XS)\n- [JSON::XS](https://metacpan.org/pod/JSON::XS)\n- [JSON::MaybeXS](https://metacpan.org/pod/JSON::MaybeXS)\n- [YAML](https://metacpan.org/dist/YAML/view/lib/YAML.pod)\n- [YAML::Tiny](https://metacpan.org/pod/YAML::Tiny)\n- [YAML::XS](https://metacpan.org/pod/YAML::XS)\n- [Net::SSLeay](https://metacpan.org/dist/Net-SSLeay/view/lib/Net/SSLeay.pod)\n- [IO::Socket::SSL](https://metacpan.org/dist/IO-Socket-SSL/view/lib/IO/Socket/SSL.pod)\n- [Mozilla::CA](https://metacpan.org/pod/Mozilla::CA)\n- [Win32](https://metacpan.org/pod/Win32) (installed from CPAN in perl 5.8.3 or earlier. From perl 5.8.4, it is installed as a core module.)\n\n## Actions::Core\n\nPerl port of [@actions/core](https://github.com/actions/toolkit/tree/main/packages/core).\n\n### SYNOPSIS\n\n```perl\nuse Actions::Core;\n\n# Inputs/Outputs\nmy $input = get_input('inputName', { required: true });\nmy $boolean_input = get_boolean_input('boolean-input'); # accepts YAML 1.2 boolean values.\nset_output('outputKey', 'outputVal');\n\n# Exporting variables\nexport_variable('envVar', 'Val');\n\n# Setting a secret\nset_secret('myPassword');\n\n# PATH Manipulation\nadd_path('/path/to/mytool');\n\n# Exit codes\nset_failed(`Action failed with error ${err}`);\n\n# Logging\ndebug('debug message');\nif (is_debug()) {\n  # print verbose log\n}\ninfo('Output to the actions build log');\n\n# Annotation\nerror('error')\nwarning('warning');\nnotice('notice');\nnotice('add an annotation to files', {\n  title =\u003e 'Title',\n  file =\u003e 'filename.txt',\n  start_line   =\u003e 1,\n  end_line     =\u003e 1,\n  start_column =\u003e 1,\n  end_column   =\u003e 10,\n});\n\n# Manually wrap output\nstart_group('Do some function');\ndo_some_function();\nend_group();\n\n# Summary\nuse Actions::Core::Summary;\nActions::Core::Summary-\u003enew()\n  -\u003eadd_raw(\"some text\")\n  -\u003eadd_code_block(\"print 'Hello';\", \"perl\")\n  -\u003eadd_list(['item1', 'item2', 'item3'])\n  -\u003eadd_table([['1', '2', '3'], ['one', 'two', 'three']])\n  -\u003eadd_separator()\n  -\u003eadd_heading('heading')\n  -\u003eadd_details('label', 'content')\n  -\u003eadd_image('https://github.com/actions.png', 'alt', { width =\u003e \"32\", height =\u003e \"32\" })\n  -\u003eadd_quote('text', 'cite')\n  -\u003eadd_link(\"Example\", \"http://example.com\")\n  -\u003ewrite();\n\n# Wrap Subroutines\nmy $result = group 'Do something async' =\u003e sub {\n  return 'some results';\n};\n\n# Custom Functions of actions-setup-perl\n# List Available Perl Versions\nmy @available_perls_on_current_platform = perl_versions(); # ('5.34.0', '5.32.1', '5.30.3', '5.28.3', ...)\nmy @available_perls_on_linux   = perl_versions(platform =\u003e 'linux');\nmy @available_perls_on_darwin  = perl_versions(platform =\u003e 'darwin');\nmy @available_perls_on_win32   = perl_versions(platform =\u003e 'win32');\nmy @available_strawberry_perls = perl_versions(platform =\u003e 'win32', distribution =\u003e 'strawberry');\nmy @including_patch_versions   = perl_versions(patch =\u003e 1); # ('5.34.0', '5.32.1', '5.32.0', '5.30.3', '5.30.2', ...)\n```\n\n### List Available Perl Versions\n\nExample matrix workflow of using `perl_versions`:\n\n```yaml\njobs:\n  list:\n    name: list available perl versions\n    runs-on: ubuntu-latest\n    steps:\n      - uses: shogo82148/actions-setup-perl@v1\n      - id: set-matrix\n        name: list available perl versions\n        shell: perl {0}\n        run: |\n          use Actions::Core;\n          set_output(matrix =\u003e {perl =\u003e [perl_versions()]});\n    outputs:\n      matrix: ${{ steps.set-matrix.outputs.matrix }}\n\n  run:\n    runs-on: ubuntu-latest\n    needs: list\n    strategy:\n      fail-fast: false\n      matrix: ${{fromJson(needs.list.outputs.matrix)}}\n    steps:\n      - uses: shogo82148/actions-setup-perl@v1\n        with:\n          perl-version: ${{ matrix.perl }}\n      # do something\n```\n\n# Known Issues\n\n- On Windows, `shell: bash` steps continue to use the system perl [#328](https://github.com/shogo82148/actions-setup-perl/issues/328)\n\n# License\n\nThe scripts and documentation in this project are released under the [MIT License](LICENSE.md)\n\nThe Raptor in `social-preview.svg` is licensed under the CC-SA License, Version 4.0 [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/). Copyright (C) 2012, Sebastian Riedel.\nhttps://github.com/kraih/perl-raptor\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshogo82148%2Factions-setup-perl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshogo82148%2Factions-setup-perl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshogo82148%2Factions-setup-perl/lists"}