pi-usereq 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.g.conf +20 -0
- package/.github/workflows/release-npm.yml +131 -0
- package/.gitignore +270 -0
- package/CHANGELOG.md +221 -0
- package/LICENSE +674 -0
- package/README.md +260 -0
- package/TODO.md +20 -0
- package/docs/pi.dev/agent-document-manifest.json +6399 -0
- package/docs/pi.dev/coding-agent-docs/compaction.md +394 -0
- package/docs/pi.dev/coding-agent-docs/custom-provider.md +596 -0
- package/docs/pi.dev/coding-agent-docs/development.md +71 -0
- package/docs/pi.dev/coding-agent-docs/extensions.md +2262 -0
- package/docs/pi.dev/coding-agent-docs/images/doom-extension.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/exy.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/interactive-mode.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/tree-view.png +0 -0
- package/docs/pi.dev/coding-agent-docs/json.md +82 -0
- package/docs/pi.dev/coding-agent-docs/keybindings.md +175 -0
- package/docs/pi.dev/coding-agent-docs/models.md +392 -0
- package/docs/pi.dev/coding-agent-docs/packages.md +218 -0
- package/docs/pi.dev/coding-agent-docs/prompt-templates.md +67 -0
- package/docs/pi.dev/coding-agent-docs/providers.md +195 -0
- package/docs/pi.dev/coding-agent-docs/rpc.md +1377 -0
- package/docs/pi.dev/coding-agent-docs/sdk.md +1124 -0
- package/docs/pi.dev/coding-agent-docs/session.md +412 -0
- package/docs/pi.dev/coding-agent-docs/settings.md +247 -0
- package/docs/pi.dev/coding-agent-docs/shell-aliases.md +13 -0
- package/docs/pi.dev/coding-agent-docs/skills.md +232 -0
- package/docs/pi.dev/coding-agent-docs/terminal-setup.md +106 -0
- package/docs/pi.dev/coding-agent-docs/termux.md +127 -0
- package/docs/pi.dev/coding-agent-docs/themes.md +295 -0
- package/docs/pi.dev/coding-agent-docs/tmux.md +61 -0
- package/docs/pi.dev/coding-agent-docs/tree.md +231 -0
- package/docs/pi.dev/coding-agent-docs/tui.md +887 -0
- package/docs/pi.dev/coding-agent-docs/windows.md +17 -0
- package/docs/pi.dev/mom-docs/artifacts-server.md +475 -0
- package/docs/pi.dev/mom-docs/events.md +307 -0
- package/docs/pi.dev/mom-docs/new.md +970 -0
- package/docs/pi.dev/mom-docs/sandbox.md +153 -0
- package/docs/pi.dev/mom-docs/slack-bot-minimal-guide.md +399 -0
- package/docs/pi.dev/mom-docs/v86.md +319 -0
- package/docs/pi.dev/pods-docs/gml-4.5.md +189 -0
- package/docs/pi.dev/pods-docs/gpt-oss.md +233 -0
- package/docs/pi.dev/pods-docs/implementation-plan.md +183 -0
- package/docs/pi.dev/pods-docs/kimi-k2.md +197 -0
- package/docs/pi.dev/pods-docs/models.md +116 -0
- package/docs/pi.dev/pods-docs/plan.md +166 -0
- package/docs/pi.dev/pods-docs/qwen3-coder.md +132 -0
- package/images/flowchart-bw.png +0 -0
- package/images/flowchart-bw.svg +102 -0
- package/images/flowchart.md +100 -0
- package/images/flowchart.png +0 -0
- package/images/flowchart.svg +3 -0
- package/package.json +46 -0
- package/req/docs/REFERENCES.md +4554 -0
- package/req/docs/REQUIREMENTS.md +475 -0
- package/req/docs/WORKFLOW.md +1059 -0
- package/scripts/debug-extension.ts +497 -0
- package/scripts/lib/extension-debug-harness.ts +450 -0
- package/scripts/lib/recording-extension-api.ts +786 -0
- package/scripts/lib/sdk-smoke.ts +503 -0
- package/scripts/pi-usereq-debug.sh +330 -0
- package/scripts/tool-args-to-params.ts +208 -0
- package/src/cli.ts +349 -0
- package/src/core/agent-tool-json.ts +621 -0
- package/src/core/compress-files.ts +72 -0
- package/src/core/compress-payload.ts +648 -0
- package/src/core/compress.ts +464 -0
- package/src/core/config.ts +272 -0
- package/src/core/doxygen-parser.ts +318 -0
- package/src/core/errors.ts +31 -0
- package/src/core/extension-status.ts +660 -0
- package/src/core/find-constructs.ts +319 -0
- package/src/core/find-payload.ts +915 -0
- package/src/core/generate-markdown.ts +120 -0
- package/src/core/path-context.ts +196 -0
- package/src/core/pi-notify.ts +430 -0
- package/src/core/pi-usereq-tools.ts +140 -0
- package/src/core/prompts.ts +184 -0
- package/src/core/reference-payload.ts +818 -0
- package/src/core/resources.ts +63 -0
- package/src/core/runtime-project-paths.ts +99 -0
- package/src/core/settings-menu.ts +233 -0
- package/src/core/source-analyzer.ts +1721 -0
- package/src/core/static-check.ts +674 -0
- package/src/core/token-counter.ts +729 -0
- package/src/core/tool-runner.ts +717 -0
- package/src/core/utils.ts +185 -0
- package/src/index.ts +2209 -0
- package/src/resources/guidelines/Google_C++_Style_Guide.md +3711 -0
- package/src/resources/guidelines/Google_Python_Style_Guide.md +3709 -0
- package/src/resources/prompts/analyze.md +130 -0
- package/src/resources/prompts/change.md +227 -0
- package/src/resources/prompts/check.md +139 -0
- package/src/resources/prompts/cover.md +219 -0
- package/src/resources/prompts/create.md +104 -0
- package/src/resources/prompts/fix.md +221 -0
- package/src/resources/prompts/flowchart.md +220 -0
- package/src/resources/prompts/implement.md +163 -0
- package/src/resources/prompts/new.md +226 -0
- package/src/resources/prompts/readme.md +182 -0
- package/src/resources/prompts/recreate.md +213 -0
- package/src/resources/prompts/refactor.md +213 -0
- package/src/resources/prompts/references.md +100 -0
- package/src/resources/prompts/renumber.md +119 -0
- package/src/resources/prompts/workflow.md +202 -0
- package/src/resources/prompts/write.md +99 -0
- package/src/resources/sounds/Machine-alert-beep-sound-effect.mp3 +0 -0
- package/src/resources/sounds/Soft-high-tech-notification-sound-effect.mp3 +0 -0
- package/src/resources/templates/Document_Source_Code_in_Doxygen_Style.md +130 -0
- package/src/resources/templates/HDT_Test_Authoring_Guide.md +318 -0
- package/src/resources/templates/Requirements_Template.md +78 -0
- package/tests/attended-results-scenarios.ts +758 -0
- package/tests/attended-results.test.ts +39 -0
- package/tests/cli-command-option-parity.test.ts +815 -0
- package/tests/debug-extension-harness.test.ts +463 -0
- package/tests/extension-registration.test.ts +2006 -0
- package/tests/fixtures/fixture_c.c +361 -0
- package/tests/fixtures/fixture_cpp.cpp +407 -0
- package/tests/fixtures/fixture_csharp.cs +411 -0
- package/tests/fixtures/fixture_elixir.ex +409 -0
- package/tests/fixtures/fixture_go.go +341 -0
- package/tests/fixtures/fixture_haskell.hs +250 -0
- package/tests/fixtures/fixture_java.java +430 -0
- package/tests/fixtures/fixture_javascript.js +383 -0
- package/tests/fixtures/fixture_kotlin.kt +451 -0
- package/tests/fixtures/fixture_lua.lua +276 -0
- package/tests/fixtures/fixture_perl.pl +310 -0
- package/tests/fixtures/fixture_php.php +433 -0
- package/tests/fixtures/fixture_python.py +502 -0
- package/tests/fixtures/fixture_ruby.rb +345 -0
- package/tests/fixtures/fixture_rust.rs +380 -0
- package/tests/fixtures/fixture_scala.scala +398 -0
- package/tests/fixtures/fixture_shell.sh +276 -0
- package/tests/fixtures/fixture_swift.swift +397 -0
- package/tests/fixtures/fixture_typescript.ts +434 -0
- package/tests/fixtures/fixture_zig.zig +295 -0
- package/tests/fixtures_attended_results/project/compress-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/compress.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-invalid-command.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-valid.json +5 -0
- package/tests/fixtures_attended_results/project/files-static-check.json +5 -0
- package/tests/fixtures_attended_results/project/find-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/find.json +5 -0
- package/tests/fixtures_attended_results/project/get-base-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-clean.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-dirty.json +5 -0
- package/tests/fixtures_attended_results/project/git-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-invalid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-nonexistent.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-name.json +5 -0
- package/tests/fixtures_attended_results/project/references.json +5 -0
- package/tests/fixtures_attended_results/project/static-check.json +5 -0
- package/tests/fixtures_attended_results/project/tokens.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_zig.zig.json +5 -0
- package/tests/helpers.ts +204 -0
- package/tests/oracle-project.test.ts +63 -0
- package/tests/oracle-standalone.test.ts +48 -0
- package/tests/prompt-rendering.test.ts +66 -0
- package/tests/release-workflow.test.ts +133 -0
package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_perl.pl.json
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code": 1,
|
|
3
|
+
"stdout": "# Static-Check(Ruff): <ROOT>/tests/fixtures/fixture_perl.pl\nResult: FAIL\nEvidence:\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:8:1\n |\n 6 | # and regular expressions.\n 7 | # Single line comment\n 8 | =pod\n | ^\n 9 |\n10 | @brief Documentation block for the fixture module.\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_perl.pl:10:8\n |\n 8 | =pod\n 9 |\n10 | @brief Documentation block for the fixture module.\n | ^^^^^^^^^^^^^\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:10:22\n |\n 8 | =pod\n 9 |\n10 | @brief Documentation block for the fixture module.\n | ^^^^^\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_perl.pl:10:28\n |\n 8 | =pod\n 9 |\n10 | @brief Documentation block for the fixture module.\n | ^^^\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Expected `in`, found name\n --> tests/fixtures/fixture_perl.pl:10:36\n |\n 8 | =pod\n 9 |\n10 | @brief Documentation block for the fixture module.\n | ^^^^^^^\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Expected `:`, found name\n --> tests/fixtures/fixture_perl.pl:10:44\n |\n 8 | =pod\n 9 |\n10 | @brief Documentation block for the fixture module.\n | ^^^^^^\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:10:51\n |\n 8 | =pod\n 9 |\n10 | @brief Documentation block for the fixture module.\n | ^\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_perl.pl:11:10\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n | ^^^^\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:11:15\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n | ^^^^^^\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:11:22\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n | ^^^^^^^^^^^^\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:11:35\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n | ^^^^^^^^\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:11:44\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n | ^^^^\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:11:49\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n | ^^^^^^^^^^\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:11:60\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n | ^^^^^^^^^\n12 | object-oriented patterns, closures, and metaprogramming.\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:12:1\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n | ^^^^^^^^^\n13 |\n14 | =cut\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:12:26\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n | ^^^^^^^^\n13 |\n14 | =cut\n |\n\ninvalid-syntax: Expected `,`, found `and`\n --> tests/fixtures/fixture_perl.pl:12:46\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n | ^^^\n13 |\n14 | =cut\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:12:66\n |\n10 | @brief Documentation block for the fixture module.\n11 | @details This module demonstrates advanced Perl constructs including\n12 | object-oriented patterns, closures, and metaprogramming.\n | ^\n13 |\n14 | =cut\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:14:1\n |\n12 | object-oriented patterns, closures, and metaprogramming.\n13 |\n14 | =cut\n | ^\n15 |\n16 | package MyPackage;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:16:9\n |\n14 | =cut\n15 |\n16 | package MyPackage;\n | ^^^^^^^^^\n17 |\n18 | use strict;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:16:18\n |\n14 | =cut\n15 |\n16 | package MyPackage;\n | ^\n17 |\n18 | use strict;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:18:5\n |\n16 | package MyPackage;\n17 |\n18 | use strict;\n | ^^^^^^\n19 | use warnings;\n20 | use Carp qw(croak confess);\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:18:11\n |\n16 | package MyPackage;\n17 |\n18 | use strict;\n | ^\n19 | use warnings;\n20 | use Carp qw(croak confess);\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:19:5\n |\n18 | use strict;\n19 | use warnings;\n | ^^^^^^^^\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:19:13\n |\n18 | use strict;\n19 | use warnings;\n | ^\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:20:5\n |\n18 | use strict;\n19 | use warnings;\n20 | use Carp qw(croak confess);\n | ^^^^\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:20:10\n |\n18 | use strict;\n19 | use warnings;\n20 | use Carp qw(croak confess);\n | ^^\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n |\n\ninvalid-syntax: Expected `,`, found name\n --> tests/fixtures/fixture_perl.pl:20:19\n |\n18 | use strict;\n19 | use warnings;\n20 | use Carp qw(croak confess);\n | ^^^^^^^\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:20:27\n |\n18 | use strict;\n19 | use warnings;\n20 | use Carp qw(croak confess);\n | ^\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:21:9\n |\n19 | use warnings;\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n | ^^^^^^^^\n22 | use constant MAX_SIZE => 100;\n23 | use constant {\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:21:17\n |\n19 | use warnings;\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n | ^\n22 | use constant MAX_SIZE => 100;\n23 | use constant {\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:22:5\n |\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n | ^^^^^^^^\n23 | use constant {\n24 | MIN_SIZE => 1,\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:22:14\n |\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n | ^^^^^^^^\n23 | use constant {\n24 | MIN_SIZE => 1,\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:22:24\n |\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n | ^\n23 | use constant {\n24 | MIN_SIZE => 1,\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:22:29\n |\n20 | use Carp qw(croak confess);\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n | ^\n23 | use constant {\n24 | MIN_SIZE => 1,\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:23:5\n |\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n23 | use constant {\n | ^^^^^^^^\n24 | MIN_SIZE => 1,\n25 | DEFAULT_NAME => 'unnamed',\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:23:14\n |\n21 | require Exporter;\n22 | use constant MAX_SIZE => 100;\n23 | use constant {\n | ^\n24 | MIN_SIZE => 1,\n25 | DEFAULT_NAME => 'unnamed',\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:24:14\n |\n22 | use constant MAX_SIZE => 100;\n23 | use constant {\n24 | MIN_SIZE => 1,\n | ^\n25 | DEFAULT_NAME => 'unnamed',\n26 | };\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:24:15\n |\n22 | use constant MAX_SIZE => 100;\n23 | use constant {\n24 | MIN_SIZE => 1,\n | ^\n25 | DEFAULT_NAME => 'unnamed',\n26 | };\n |\n\ninvalid-syntax: Expected `,`, found `=`\n --> tests/fixtures/fixture_perl.pl:25:18\n |\n23 | use constant {\n24 | MIN_SIZE => 1,\n25 | DEFAULT_NAME => 'unnamed',\n | ^\n26 | };\n |\n\ninvalid-syntax: Expected `,`, found `>`\n --> tests/fixtures/fixture_perl.pl:25:19\n |\n23 | use constant {\n24 | MIN_SIZE => 1,\n25 | DEFAULT_NAME => 'unnamed',\n | ^\n26 | };\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:26:2\n |\n24 | MIN_SIZE => 1,\n25 | DEFAULT_NAME => 'unnamed',\n26 | };\n | ^\n27 |\n28 | # @brief Module version string.\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:29:5\n |\n28 | # @brief Module version string.\n29 | our $VERSION = '1.0.0';\n | ^\n30 |\n31 | # @brief Symbols exported by default.\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:29:23\n |\n28 | # @brief Module version string.\n29 | our $VERSION = '1.0.0';\n | ^\n30 |\n31 | # @brief Symbols exported by default.\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Invalid assignment target\n --> tests/fixtures/fixture_perl.pl:32:1\n |\n31 | # @brief Symbols exported by default.\n32 | our @EXPORT = qw(greet process);\n | ^^^^^^^^^^^\n33 |\n34 | # @brief Symbols available on request.\n |\n\ninvalid-syntax: Expected `,`, found name\n --> tests/fixtures/fixture_perl.pl:32:24\n |\n31 | # @brief Symbols exported by default.\n32 | our @EXPORT = qw(greet process);\n | ^^^^^^^\n33 |\n34 | # @brief Symbols available on request.\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:32:32\n |\n31 | # @brief Symbols exported by default.\n32 | our @EXPORT = qw(greet process);\n | ^\n33 |\n34 | # @brief Symbols available on request.\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Invalid assignment target\n --> tests/fixtures/fixture_perl.pl:35:1\n |\n34 | # @brief Symbols available on request.\n35 | our @EXPORT_OK = qw(helper format_output);\n | ^^^^^^^^^^^^^^\n36 |\n37 | # ── Constructor and OOP ──────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected `,`, found name\n --> tests/fixtures/fixture_perl.pl:35:28\n |\n34 | # @brief Symbols available on request.\n35 | our @EXPORT_OK = qw(helper format_output);\n | ^^^^^^^^^^^^^\n36 |\n37 | # ── Constructor and OOP ──────────────────────────────────────────────\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:35:42\n |\n34 | # @brief Symbols available on request.\n35 | our @EXPORT_OK = qw(helper format_output);\n | ^\n36 |\n37 | # ── Constructor and OOP ──────────────────────────────────────────────\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:39:1\n |\n37 | # ── Constructor and OOP ──────────────────────────────────────────────\n38 |\n39 | =pod\n | ^\n40 |\n41 | @brief Create a new MyPackage instance.\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_perl.pl:41:8\n |\n39 | =pod\n40 |\n41 | @brief Create a new MyPackage instance.\n | ^^^^^^\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:41:15\n |\n39 | =pod\n40 |\n41 | @brief Create a new MyPackage instance.\n | ^\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:41:17\n |\n39 | =pod\n40 |\n41 | @brief Create a new MyPackage instance.\n | ^^^\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:41:21\n |\n39 | =pod\n40 |\n41 | @brief Create a new MyPackage instance.\n | ^^^^^^^^^\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:41:31\n |\n39 | =pod\n40 |\n41 | @brief Create a new MyPackage instance.\n | ^^^^^^^^\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:41:40\n |\n39 | =pod\n40 |\n41 | @brief Create a new MyPackage instance.\n | ^\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n |\n\ninvalid-syntax: Expected newline, found `class`\n --> tests/fixtures/fixture_perl.pl:42:8\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n | ^^^^^\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected `:`, found `class`\n --> tests/fixtures/fixture_perl.pl:42:18\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n | ^^^^^\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected `,`, found name\n --> tests/fixtures/fixture_perl.pl:42:39\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n | ^^^^^\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected `,`, found name\n --> tests/fixtures/fixture_perl.pl:42:45\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n | ^^^^^^^^\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected `:`, found `.`\n --> tests/fixtures/fixture_perl.pl:42:54\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n | ^\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:42:55\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n | ^\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_perl.pl:43:14\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n | ^^^^^\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:43:20\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n | ^^^^^^^^^\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:43:46\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n | ^\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:43:63\n |\n41 | @brief Create a new MyPackage instance.\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n | ^\n44 | @return Blessed hashref instance.\n |\n\ninvalid-syntax: Expected an identifier, but found a keyword `return` that cannot be used here\n --> tests/fixtures/fixture_perl.pl:44:2\n |\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n | ^^^^^^\n45 |\n46 | =cut\n |\n\ninvalid-syntax: Expected newline, found name\n --> tests/fixtures/fixture_perl.pl:44:9\n |\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n | ^^^^^^^\n45 |\n46 | =cut\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:44:17\n |\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n | ^^^^^^^\n45 |\n46 | =cut\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:44:25\n |\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n | ^^^^^^^^\n45 |\n46 | =cut\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:44:34\n |\n42 | @param class The class name (implicit first argument).\n43 | @param %args Named arguments: name (required), age (optional).\n44 | @return Blessed hashref instance.\n | ^\n45 |\n46 | =cut\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:46:1\n |\n44 | @return Blessed hashref instance.\n45 |\n46 | =cut\n | ^\n47 |\n48 | sub new {\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:48:5\n |\n46 | =cut\n47 |\n48 | sub new {\n | ^^^\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:48:9\n |\n46 | =cut\n47 |\n48 | sub new {\n | ^\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:49:9\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Expected `)`, found `class`\n --> tests/fixtures/fixture_perl.pl:49:10\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^^^^^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:49:15\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:49:17\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:49:22\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:49:24\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Expected newline, found `;`\n --> tests/fixtures/fixture_perl.pl:49:28\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:49:29\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n | ^\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:50:1\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n | ^^^^\n51 | my $self = bless {\n52 | name => $args{name},\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:50:11\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n | ^^^^^^^^^^^^^^^^^^\n51 | my $self = bless {\n52 | name => $args{name},\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:50:30\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n | ^^^^^^\n51 | my $self = bless {\n52 | name => $args{name},\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:50:37\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n | ^\n51 | my $self = bless {\n52 | name => $args{name},\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:50:42\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n | ^\n51 | my $self = bless {\n52 | name => $args{name},\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:50:48\n |\n48 | sub new {\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n | ^\n51 | my $self = bless {\n52 | name => $args{name},\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:51:8\n |\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n | ^\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:51:22\n |\n49 | my ($class, %args) = @_;\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n | ^\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:52:15\n |\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n52 | name => $args{name},\n | ^\n53 | age => $args{age} || 0,\n54 | _items => [],\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:52:16\n |\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n52 | name => $args{name},\n | ^\n53 | age => $args{age} || 0,\n54 | _items => [],\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:52:18\n |\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n52 | name => $args{name},\n | ^\n53 | age => $args{age} || 0,\n54 | _items => [],\n |\n\ninvalid-syntax: Expected `,`, found `{`\n --> tests/fixtures/fixture_perl.pl:52:23\n |\n50 | croak \"name is required\" unless $args{name};\n51 | my $self = bless {\n52 | name => $args{name},\n | ^\n53 | age => $args{age} || 0,\n54 | _items => [],\n |\n\ninvalid-syntax: Expected `,`, found `=`\n --> tests/fixtures/fixture_perl.pl:53:15\n |\n51 | my $self = bless {\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n | ^\n54 | _items => [],\n55 | _cache => {},\n |\n\ninvalid-syntax: Expected `,`, found `>`\n --> tests/fixtures/fixture_perl.pl:53:16\n |\n51 | my $self = bless {\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n | ^\n54 | _items => [],\n55 | _cache => {},\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:53:18\n |\n51 | my $self = bless {\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n | ^\n54 | _items => [],\n55 | _cache => {},\n |\n\ninvalid-syntax: Expected `,`, found `{`\n --> tests/fixtures/fixture_perl.pl:53:23\n |\n51 | my $self = bless {\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n | ^\n54 | _items => [],\n55 | _cache => {},\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:53:30\n |\n51 | my $self = bless {\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n | ^\n54 | _items => [],\n55 | _cache => {},\n |\n\ninvalid-syntax: Expected `,`, found `=`\n --> tests/fixtures/fixture_perl.pl:54:16\n |\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n54 | _items => [],\n | ^\n55 | _cache => {},\n56 | }, $class;\n |\n\ninvalid-syntax: Expected `,`, found `>`\n --> tests/fixtures/fixture_perl.pl:54:17\n |\n52 | name => $args{name},\n53 | age => $args{age} || 0,\n54 | _items => [],\n | ^\n55 | _cache => {},\n56 | }, $class;\n |\n\ninvalid-syntax: Expected `,`, found `=`\n --> tests/fixtures/fixture_perl.pl:55:16\n |\n53 | age => $args{age} || 0,\n54 | _items => [],\n55 | _cache => {},\n | ^\n56 | }, $class;\n57 | return $self;\n |\n\ninvalid-syntax: Expected `,`, found `>`\n --> tests/fixtures/fixture_perl.pl:55:17\n |\n53 | age => $args{age} || 0,\n54 | _items => [],\n55 | _cache => {},\n | ^\n56 | }, $class;\n57 | return $self;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:56:8\n |\n54 | _items => [],\n55 | _cache => {},\n56 | }, $class;\n | ^\n57 | return $self;\n58 | }\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_perl.pl:56:9\n |\n54 | _items => [],\n55 | _cache => {},\n56 | }, $class;\n | ^^^^^\n57 | return $self;\n58 | }\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:56:14\n |\n54 | _items => [],\n55 | _cache => {},\n56 | }, $class;\n | ^\n57 | return $self;\n58 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:56:14\n |\n54 | _items => [],\n55 | _cache => {},\n56 | }, $class;\n | ^\n57 | return $self;\n58 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:56:15\n |\n54 | _items => [],\n55 | _cache => {},\n56 | }, $class;\n | ^\n57 | return $self;\n58 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:57:12\n |\n55 | _cache => {},\n56 | }, $class;\n57 | return $self;\n | ^\n58 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:57:17\n |\n55 | _cache => {},\n56 | }, $class;\n57 | return $self;\n | ^\n58 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:58:1\n |\n56 | }, $class;\n57 | return $self;\n58 | }\n | ^\n59 |\n60 | # @brief Accessor for the name attribute.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:58:2\n |\n56 | }, $class;\n57 | return $self;\n58 | }\n | ^\n59 |\n60 | # @brief Accessor for the name attribute.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:62:5\n |\n60 | # @brief Accessor for the name attribute.\n61 | # @return The instance name string.\n62 | sub name {\n | ^^^^\n63 | my ($self, $val) = @_;\n64 | if (defined $val) {\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:62:10\n |\n60 | # @brief Accessor for the name attribute.\n61 | # @return The instance name string.\n62 | sub name {\n | ^\n63 | my ($self, $val) = @_;\n64 | if (defined $val) {\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:63:9\n |\n61 | # @return The instance name string.\n62 | sub name {\n63 | my ($self, $val) = @_;\n | ^\n64 | if (defined $val) {\n65 | # Setter mode\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:63:16\n |\n61 | # @return The instance name string.\n62 | sub name {\n63 | my ($self, $val) = @_;\n | ^\n64 | if (defined $val) {\n65 | # Setter mode\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:63:22\n |\n61 | # @return The instance name string.\n62 | sub name {\n63 | my ($self, $val) = @_;\n | ^\n64 | if (defined $val) {\n65 | # Setter mode\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:63:24\n |\n61 | # @return The instance name string.\n62 | sub name {\n63 | my ($self, $val) = @_;\n | ^\n64 | if (defined $val) {\n65 | # Setter mode\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:64:1\n |\n62 | sub name {\n63 | my ($self, $val) = @_;\n64 | if (defined $val) {\n | ^^^^\n65 | # Setter mode\n66 | $self->{name} = $val;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:64:17\n |\n62 | sub name {\n63 | my ($self, $val) = @_;\n64 | if (defined $val) {\n | ^\n65 | # Setter mode\n66 | $self->{name} = $val;\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:64:21\n |\n62 | sub name {\n63 | my ($self, $val) = @_;\n64 | if (defined $val) {\n | ^\n65 | # Setter mode\n66 | $self->{name} = $val;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:66:9\n |\n64 | if (defined $val) {\n65 | # Setter mode\n66 | $self->{name} = $val;\n | ^\n67 | return $self;\n68 | }\n |\n\ninvalid-syntax: Expected `,`, found `->`\n --> tests/fixtures/fixture_perl.pl:66:14\n |\n64 | if (defined $val) {\n65 | # Setter mode\n66 | $self->{name} = $val;\n | ^^\n67 | return $self;\n68 | }\n |\n\ninvalid-syntax: Expected `,`, found `=`\n --> tests/fixtures/fixture_perl.pl:66:23\n |\n64 | if (defined $val) {\n65 | # Setter mode\n66 | $self->{name} = $val;\n | ^\n67 | return $self;\n68 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:66:25\n |\n64 | if (defined $val) {\n65 | # Setter mode\n66 | $self->{name} = $val;\n | ^\n67 | return $self;\n68 | }\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:66:29\n |\n64 | if (defined $val) {\n65 | # Setter mode\n66 | $self->{name} = $val;\n | ^\n67 | return $self;\n68 | }\n |\n\ninvalid-syntax: Expected `}`, found newline\n --> tests/fixtures/fixture_perl.pl:66:30\n |\n64 | if (defined $val) {\n65 | # Setter mode\n66 | $self->{name} = $val;\n | ^\n67 | return $self;\n68 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:67:1\n |\n65 | # Setter mode\n66 | $self->{name} = $val;\n67 | return $self;\n | ^^^^^^^^\n68 | }\n69 | return $self->{name};\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:67:16\n |\n65 | # Setter mode\n66 | $self->{name} = $val;\n67 | return $self;\n | ^\n68 | }\n69 | return $self->{name};\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:67:21\n |\n65 | # Setter mode\n66 | $self->{name} = $val;\n67 | return $self;\n | ^\n68 | }\n69 | return $self->{name};\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:68:5\n |\n66 | $self->{name} = $val;\n67 | return $self;\n68 | }\n | ^\n69 | return $self->{name};\n70 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:68:6\n |\n66 | $self->{name} = $val;\n67 | return $self;\n68 | }\n | ^\n69 | return $self->{name};\n70 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:69:12\n |\n67 | return $self;\n68 | }\n69 | return $self->{name};\n | ^\n70 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:69:17\n |\n67 | return $self;\n68 | }\n69 | return $self->{name};\n | ^^\n70 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:69:25\n |\n67 | return $self;\n68 | }\n69 | return $self->{name};\n | ^\n70 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:70:1\n |\n68 | }\n69 | return $self->{name};\n70 | }\n | ^\n71 |\n72 | # @brief Check if the instance is in a valid state.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:70:2\n |\n68 | }\n69 | return $self->{name};\n70 | }\n | ^\n71 |\n72 | # @brief Check if the instance is in a valid state.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:74:5\n |\n72 | # @brief Check if the instance is in a valid state.\n73 | # @return 1 if valid, 0 otherwise.\n74 | sub is_valid {\n | ^^^^^^^^\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:74:14\n |\n72 | # @brief Check if the instance is in a valid state.\n73 | # @return 1 if valid, 0 otherwise.\n74 | sub is_valid {\n | ^\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:75:9\n |\n73 | # @return 1 if valid, 0 otherwise.\n74 | sub is_valid {\n75 | my ($self) = @_;\n | ^\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n77 | }\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:75:16\n |\n73 | # @return 1 if valid, 0 otherwise.\n74 | sub is_valid {\n75 | my ($self) = @_;\n | ^\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n77 | }\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:75:18\n |\n73 | # @return 1 if valid, 0 otherwise.\n74 | sub is_valid {\n75 | my ($self) = @_;\n | ^\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n77 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:76:1\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^^^^\n77 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:76:20\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^\n77 | }\n |\n\ninvalid-syntax: Expected `,`, found `->`\n --> tests/fixtures/fixture_perl.pl:76:25\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^^\n77 | }\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:76:36\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^\n77 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:76:45\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^\n77 | }\n |\n\ninvalid-syntax: Expected `,`, found `->`\n --> tests/fixtures/fixture_perl.pl:76:50\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^^\n77 | }\n |\n\ninvalid-syntax: Got unexpected token ?\n --> tests/fixtures/fixture_perl.pl:76:64\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^\n77 | }\n |\n\ninvalid-syntax: Invalid annotated assignment target\n --> tests/fixtures/fixture_perl.pl:76:66\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^\n77 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:76:71\n |\n74 | sub is_valid {\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n | ^\n77 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:77:1\n |\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n77 | }\n | ^\n78 |\n79 | # ── Functions ────────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:77:2\n |\n75 | my ($self) = @_;\n76 | return defined($self->{name}) && length($self->{name}) > 0 ? 1 : 0;\n77 | }\n | ^\n78 |\n79 | # ── Functions ────────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:83:5\n |\n81 | # @brief Print a greeting to stdout.\n82 | # @param $name The person's name.\n83 | sub greet {\n | ^^^^^\n84 | my ($name) = @_;\n85 | # Validate input before printing\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:83:11\n |\n81 | # @brief Print a greeting to stdout.\n82 | # @param $name The person's name.\n83 | sub greet {\n | ^\n84 | my ($name) = @_;\n85 | # Validate input before printing\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:84:9\n |\n82 | # @param $name The person's name.\n83 | sub greet {\n84 | my ($name) = @_;\n | ^\n85 | # Validate input before printing\n86 | unless (defined $name) {\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:84:16\n |\n82 | # @param $name The person's name.\n83 | sub greet {\n84 | my ($name) = @_;\n | ^\n85 | # Validate input before printing\n86 | unless (defined $name) {\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:84:18\n |\n82 | # @param $name The person's name.\n83 | sub greet {\n84 | my ($name) = @_;\n | ^\n85 | # Validate input before printing\n86 | unless (defined $name) {\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:86:1\n |\n84 | my ($name) = @_;\n85 | # Validate input before printing\n86 | unless (defined $name) {\n | ^^^^\n87 | warn \"greet called without name\";\n88 | return;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:86:21\n |\n84 | my ($name) = @_;\n85 | # Validate input before printing\n86 | unless (defined $name) {\n | ^\n87 | warn \"greet called without name\";\n88 | return;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:86:28\n |\n84 | my ($name) = @_;\n85 | # Validate input before printing\n86 | unless (defined $name) {\n | ^\n87 | warn \"greet called without name\";\n88 | return;\n |\n\ninvalid-syntax: Expected `,`, found string\n --> tests/fixtures/fixture_perl.pl:87:14\n |\n85 | # Validate input before printing\n86 | unless (defined $name) {\n87 | warn \"greet called without name\";\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n88 | return;\n89 | }\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:87:41\n |\n85 | # Validate input before printing\n86 | unless (defined $name) {\n87 | warn \"greet called without name\";\n | ^\n88 | return;\n89 | }\n |\n\ninvalid-syntax: Expected `}`, found newline\n --> tests/fixtures/fixture_perl.pl:87:42\n |\n85 | # Validate input before printing\n86 | unless (defined $name) {\n87 | warn \"greet called without name\";\n | ^\n88 | return;\n89 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:88:1\n |\n86 | unless (defined $name) {\n87 | warn \"greet called without name\";\n88 | return;\n | ^^^^^^^^\n89 | }\n90 | print \"Hello $name\\n\";\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:88:15\n |\n86 | unless (defined $name) {\n87 | warn \"greet called without name\";\n88 | return;\n | ^\n89 | }\n90 | print \"Hello $name\\n\";\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:89:5\n |\n87 | warn \"greet called without name\";\n88 | return;\n89 | }\n | ^\n90 | print \"Hello $name\\n\";\n91 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:89:6\n |\n87 | warn \"greet called without name\";\n88 | return;\n89 | }\n | ^\n90 | print \"Hello $name\\n\";\n91 | }\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:90:11\n |\n88 | return;\n89 | }\n90 | print \"Hello $name\\n\";\n | ^^^^^^^^^^^^^^^\n91 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:90:26\n |\n88 | return;\n89 | }\n90 | print \"Hello $name\\n\";\n | ^\n91 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:91:1\n |\n89 | }\n90 | print \"Hello $name\\n\";\n91 | }\n | ^\n92 |\n93 | # @brief Process data and return result.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:91:2\n |\n89 | }\n90 | print \"Hello $name\\n\";\n91 | }\n | ^\n92 |\n93 | # @brief Process data and return result.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:95:5\n |\n93 | # @brief Process data and return result.\n94 | # @return 1 indicating success.\n95 | sub process {\n | ^^^^^^^\n96 | return 1;\n97 | }\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:95:13\n |\n93 | # @brief Process data and return result.\n94 | # @return 1 indicating success.\n95 | sub process {\n | ^\n96 | return 1;\n97 | }\n |\n\ninvalid-syntax: Expected an identifier, but found a keyword `return` that cannot be used here\n --> tests/fixtures/fixture_perl.pl:96:5\n |\n94 | # @return 1 indicating success.\n95 | sub process {\n96 | return 1;\n | ^^^^^^\n97 | }\n |\n\ninvalid-syntax: Expected `,`, found int\n --> tests/fixtures/fixture_perl.pl:96:12\n |\n94 | # @return 1 indicating success.\n95 | sub process {\n96 | return 1;\n | ^\n97 | }\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:96:13\n |\n94 | # @return 1 indicating success.\n95 | sub process {\n96 | return 1;\n | ^\n97 | }\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:102:5\n |\n100 | # @param @items List of items to format.\n101 | # @return In list context: formatted items. In scalar: count.\n102 | sub format_output {\n | ^^^^^^^^^^^^^\n103 | my (@items) = @_;\n104 | if (wantarray()) {\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:102:19\n |\n100 | # @param @items List of items to format.\n101 | # @return In list context: formatted items. In scalar: count.\n102 | sub format_output {\n | ^\n103 | my (@items) = @_;\n104 | if (wantarray()) {\n |\n\ninvalid-syntax: Expected `)`, found `@`\n --> tests/fixtures/fixture_perl.pl:103:9\n |\n101 | # @return In list context: formatted items. In scalar: count.\n102 | sub format_output {\n103 | my (@items) = @_;\n | ^\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:103:15\n |\n101 | # @return In list context: formatted items. In scalar: count.\n102 | sub format_output {\n103 | my (@items) = @_;\n | ^\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:103:17\n |\n101 | # @return In list context: formatted items. In scalar: count.\n102 | sub format_output {\n103 | my (@items) = @_;\n | ^\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:103:19\n |\n101 | # @return In list context: formatted items. In scalar: count.\n102 | sub format_output {\n103 | my (@items) = @_;\n | ^\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:104:1\n |\n102 | sub format_output {\n103 | my (@items) = @_;\n104 | if (wantarray()) {\n | ^^^^\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n |\n\ninvalid-syntax: Expected `:`, found `{`\n --> tests/fixtures/fixture_perl.pl:104:22\n |\n102 | sub format_output {\n103 | my (@items) = @_;\n104 | if (wantarray()) {\n | ^\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n |\n\ninvalid-syntax: Expected an identifier, but found a keyword `return` that cannot be used here\n --> tests/fixtures/fixture_perl.pl:106:9\n |\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n | ^^^^^^\n107 | } else {\n108 | # Scalar context — return count\n |\n\ninvalid-syntax: Expected `,`, found name\n --> tests/fixtures/fixture_perl.pl:106:16\n |\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n | ^^^\n107 | } else {\n108 | # Scalar context — return count\n |\n\ninvalid-syntax: Expected `,`, found `{`\n --> tests/fixtures/fixture_perl.pl:106:20\n |\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n | ^\n107 | } else {\n108 | # Scalar context — return count\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:106:25\n |\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n | ^\n107 | } else {\n108 | # Scalar context — return count\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:106:37\n |\n104 | if (wantarray()) {\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n | ^\n107 | } else {\n108 | # Scalar context — return count\n |\n\ninvalid-syntax: Expected newline, found `else`\n --> tests/fixtures/fixture_perl.pl:107:7\n |\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n107 | } else {\n | ^^^^\n108 | # Scalar context — return count\n109 | return scalar @items;\n |\n\ninvalid-syntax: Expected `:`, found `{`\n --> tests/fixtures/fixture_perl.pl:107:12\n |\n105 | # List context — return formatted items\n106 | return map { uc($_) } @items;\n107 | } else {\n | ^\n108 | # Scalar context — return count\n109 | return scalar @items;\n |\n\ninvalid-syntax: Expected an identifier, but found a keyword `return` that cannot be used here\n --> tests/fixtures/fixture_perl.pl:109:9\n |\n107 | } else {\n108 | # Scalar context — return count\n109 | return scalar @items;\n | ^^^^^^\n110 | }\n111 | }\n |\n\ninvalid-syntax: Expected `,`, found name\n --> tests/fixtures/fixture_perl.pl:109:16\n |\n107 | } else {\n108 | # Scalar context — return count\n109 | return scalar @items;\n | ^^^^^^\n110 | }\n111 | }\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:109:29\n |\n107 | } else {\n108 | # Scalar context — return count\n109 | return scalar @items;\n | ^\n110 | }\n111 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:111:1\n |\n109 | return scalar @items;\n110 | }\n111 | }\n | ^\n112 |\n113 | # @brief Standalone helper for internal use.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:111:2\n |\n109 | return scalar @items;\n110 | }\n111 | }\n | ^\n112 |\n113 | # @brief Standalone helper for internal use.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:115:5\n |\n113 | # @brief Standalone helper for internal use.\n114 | # @return Always returns \"ok\".\n115 | sub helper {\n | ^^^^^^\n116 | return \"ok\";\n117 | }\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:115:12\n |\n113 | # @brief Standalone helper for internal use.\n114 | # @return Always returns \"ok\".\n115 | sub helper {\n | ^\n116 | return \"ok\";\n117 | }\n |\n\ninvalid-syntax: Expected an identifier, but found a keyword `return` that cannot be used here\n --> tests/fixtures/fixture_perl.pl:116:5\n |\n114 | # @return Always returns \"ok\".\n115 | sub helper {\n116 | return \"ok\";\n | ^^^^^^\n117 | }\n |\n\ninvalid-syntax: Expected `,`, found string\n --> tests/fixtures/fixture_perl.pl:116:12\n |\n114 | # @return Always returns \"ok\".\n115 | sub helper {\n116 | return \"ok\";\n | ^^^^\n117 | }\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:116:16\n |\n114 | # @return Always returns \"ok\".\n115 | sub helper {\n116 | return \"ok\";\n | ^\n117 | }\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:124:5\n |\n122 | # @param $text Input text to scan.\n123 | # @return List of matched email addresses.\n124 | sub extract_emails {\n | ^^^^^^^^^^^^^^\n125 | my ($text) = @_;\n126 | my @emails;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:124:20\n |\n122 | # @param $text Input text to scan.\n123 | # @return List of matched email addresses.\n124 | sub extract_emails {\n | ^\n125 | my ($text) = @_;\n126 | my @emails;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:125:9\n |\n123 | # @return List of matched email addresses.\n124 | sub extract_emails {\n125 | my ($text) = @_;\n | ^\n126 | my @emails;\n127 | # Match standard email pattern\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:125:16\n |\n123 | # @return List of matched email addresses.\n124 | sub extract_emails {\n125 | my ($text) = @_;\n | ^\n126 | my @emails;\n127 | # Match standard email pattern\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:125:18\n |\n123 | # @return List of matched email addresses.\n124 | sub extract_emails {\n125 | my ($text) = @_;\n | ^\n126 | my @emails;\n127 | # Match standard email pattern\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:126:1\n |\n124 | sub extract_emails {\n125 | my ($text) = @_;\n126 | my @emails;\n | ^^^^\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:126:15\n |\n124 | sub extract_emails {\n125 | my ($text) = @_;\n126 | my @emails;\n | ^\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:128:12\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:128:21\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected a newline after line continuation character\n --> tests/fixtures/fixture_perl.pl:128:22\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected a newline after line continuation character\n --> tests/fixtures/fixture_perl.pl:128:26\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:128:29\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:128:31\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:128:33\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected a newline after line continuation character\n --> tests/fixtures/fixture_perl.pl:128:35\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:128:38\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected a newline after line continuation character\n --> tests/fixtures/fixture_perl.pl:128:40\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected `,`, found `.`\n --> tests/fixtures/fixture_perl.pl:128:41\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected a newline after line continuation character\n --> tests/fixtures/fixture_perl.pl:128:43\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:128:46\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:128:48\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected a newline after line continuation character\n --> tests/fixtures/fixture_perl.pl:128:49\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:128:53\n |\n126 | my @emails;\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n | ^\n129 | push @emails, $1;\n130 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:129:23\n |\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n129 | push @emails, $1;\n | ^\n130 | }\n131 | return @emails;\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:129:25\n |\n127 | # Match standard email pattern\n128 | while ($text =~ /\\b([\\w.+-]+@[\\w-]+\\.[\\w.]+)\\b/g) {\n129 | push @emails, $1;\n | ^\n130 | }\n131 | return @emails;\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_perl.pl:131:12\n |\n129 | push @emails, $1;\n130 | }\n131 | return @emails;\n | ^\n132 | }\n |\n\ninvalid-syntax: Expected newline, found `;`\n --> tests/fixtures/fixture_perl.pl:131:19\n |\n129 | push @emails, $1;\n130 | }\n131 | return @emails;\n | ^\n132 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:131:19\n |\n129 | push @emails, $1;\n130 | }\n131 | return @emails;\n | ^\n132 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:131:20\n |\n129 | push @emails, $1;\n130 | }\n131 | return @emails;\n | ^\n132 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:132:1\n |\n130 | }\n131 | return @emails;\n132 | }\n | ^\n133 |\n134 | # @brief Replace all occurrences of a pattern in text.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:132:2\n |\n130 | }\n131 | return @emails;\n132 | }\n | ^\n133 |\n134 | # @brief Replace all occurrences of a pattern in text.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:139:5\n |\n137 | # @param $replacement Replacement string.\n138 | # @return Modified text with substitutions applied.\n139 | sub replace_all {\n | ^^^^^^^^^^^\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:139:17\n |\n137 | # @param $replacement Replacement string.\n138 | # @return Modified text with substitutions applied.\n139 | sub replace_all {\n | ^\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:140:9\n |\n138 | # @return Modified text with substitutions applied.\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n | ^\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:140:16\n |\n138 | # @return Modified text with substitutions applied.\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n | ^\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:140:26\n |\n138 | # @return Modified text with substitutions applied.\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n | ^\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:140:40\n |\n138 | # @return Modified text with substitutions applied.\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n | ^\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:140:42\n |\n138 | # @return Modified text with substitutions applied.\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n | ^\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:141:1\n |\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n | ^^^^\n142 | return $text;\n143 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:141:5\n |\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n | ^\n142 | return $text;\n143 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:141:16\n |\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n | ^\n142 | return $text;\n143 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:141:25\n |\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n | ^\n142 | return $text;\n143 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:141:39\n |\n139 | sub replace_all {\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n | ^\n142 | return $text;\n143 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:142:12\n |\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n | ^\n143 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:142:17\n |\n140 | my ($text, $pattern, $replacement) = @_;\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n | ^\n143 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:143:1\n |\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n143 | }\n | ^\n144 |\n145 | # ── Closure factory ──────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:143:2\n |\n141 | $text =~ s/$pattern/$replacement/g;\n142 | return $text;\n143 | }\n | ^\n144 |\n145 | # ── Closure factory ──────────────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:150:5\n |\n148 | # @param $factor The multiplication factor.\n149 | # @return Coderef that multiplies its argument by factor.\n150 | sub make_multiplier {\n | ^^^^^^^^^^^^^^^\n151 | my ($factor) = @_;\n152 | # Capture $factor in the returned closure\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:150:21\n |\n148 | # @param $factor The multiplication factor.\n149 | # @return Coderef that multiplies its argument by factor.\n150 | sub make_multiplier {\n | ^\n151 | my ($factor) = @_;\n152 | # Capture $factor in the returned closure\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:151:9\n |\n149 | # @return Coderef that multiplies its argument by factor.\n150 | sub make_multiplier {\n151 | my ($factor) = @_;\n | ^\n152 | # Capture $factor in the returned closure\n153 | return sub {\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:151:18\n |\n149 | # @return Coderef that multiplies its argument by factor.\n150 | sub make_multiplier {\n151 | my ($factor) = @_;\n | ^\n152 | # Capture $factor in the returned closure\n153 | return sub {\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:151:20\n |\n149 | # @return Coderef that multiplies its argument by factor.\n150 | sub make_multiplier {\n151 | my ($factor) = @_;\n | ^\n152 | # Capture $factor in the returned closure\n153 | return sub {\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:153:1\n |\n151 | my ($factor) = @_;\n152 | # Capture $factor in the returned closure\n153 | return sub {\n | ^^^^\n154 | my ($x) = @_;\n155 | return $x * $factor;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:153:16\n |\n151 | my ($factor) = @_;\n152 | # Capture $factor in the returned closure\n153 | return sub {\n | ^\n154 | my ($x) = @_;\n155 | return $x * $factor;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:154:13\n |\n152 | # Capture $factor in the returned closure\n153 | return sub {\n154 | my ($x) = @_;\n | ^\n155 | return $x * $factor;\n156 | };\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:154:17\n |\n152 | # Capture $factor in the returned closure\n153 | return sub {\n154 | my ($x) = @_;\n | ^\n155 | return $x * $factor;\n156 | };\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:154:19\n |\n152 | # Capture $factor in the returned closure\n153 | return sub {\n154 | my ($x) = @_;\n | ^\n155 | return $x * $factor;\n156 | };\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:155:1\n |\n153 | return sub {\n154 | my ($x) = @_;\n155 | return $x * $factor;\n | ^^^^^^^^\n156 | };\n157 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:155:16\n |\n153 | return sub {\n154 | my ($x) = @_;\n155 | return $x * $factor;\n | ^\n156 | };\n157 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:155:21\n |\n153 | return sub {\n154 | my ($x) = @_;\n155 | return $x * $factor;\n | ^\n156 | };\n157 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:155:28\n |\n153 | return sub {\n154 | my ($x) = @_;\n155 | return $x * $factor;\n | ^\n156 | };\n157 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:156:5\n |\n154 | my ($x) = @_;\n155 | return $x * $factor;\n156 | };\n | ^\n157 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:156:6\n |\n154 | my ($x) = @_;\n155 | return $x * $factor;\n156 | };\n | ^\n157 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:156:6\n |\n154 | my ($x) = @_;\n155 | return $x * $factor;\n156 | };\n | ^\n157 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:156:7\n |\n154 | my ($x) = @_;\n155 | return $x * $factor;\n156 | };\n | ^\n157 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:157:1\n |\n155 | return $x * $factor;\n156 | };\n157 | }\n | ^\n158 |\n159 | # ── Dispatch table ───────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:157:2\n |\n155 | return $x * $factor;\n156 | };\n157 | }\n | ^\n158 |\n159 | # ── Dispatch table ───────────────────────────────────────────────────\n |\n\ninvalid-syntax: Invalid assignment target\n --> tests/fixtures/fixture_perl.pl:162:1\n |\n161 | # @brief Command dispatch table mapping names to handler coderefs.\n162 | my %dispatch = (\n | ^^^^^^^^^^^^\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n |\n\ninvalid-syntax: Expected `)`, found `=`\n --> tests/fixtures/fixture_perl.pl:163:12\n |\n161 | # @brief Command dispatch table mapping names to handler coderefs.\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n | ^\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:163:13\n |\n161 | # @brief Command dispatch table mapping names to handler coderefs.\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n | ^\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:163:19\n |\n161 | # @brief Command dispatch table mapping names to handler coderefs.\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n | ^\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:163:21\n |\n161 | # @brief Command dispatch table mapping names to handler coderefs.\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n | ^\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:163:29\n |\n161 | # @brief Command dispatch table mapping names to handler coderefs.\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n | ^\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:164:1\n |\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n | ^^^^\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:164:13\n |\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n | ^\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:164:19\n |\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n | ^\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:164:21\n |\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n | ^\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:164:29\n |\n162 | my %dispatch = (\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n | ^\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:165:13\n |\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n | ^\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:165:19\n |\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n | ^\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:165:21\n |\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n | ^\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:165:29\n |\n163 | add => sub { $_[0] + $_[1] },\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n | ^\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:166:13\n |\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n | ^\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:166:19\n |\n164 | sub => sub { $_[0] - $_[1] },\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n | ^\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n |\n\ninvalid-syntax: Expected `,`, found string\n --> tests/fixtures/fixture_perl.pl:167:15\n |\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n | ^^^^^^^^^^^^^^^^^^\n168 | return $_[0] / $_[1];\n169 | },\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:167:37\n |\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n | ^\n168 | return $_[0] / $_[1];\n169 | },\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:167:47\n |\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n | ^\n168 | return $_[0] / $_[1];\n169 | },\n |\n\ninvalid-syntax: Expected `}`, found newline\n --> tests/fixtures/fixture_perl.pl:167:48\n |\n165 | mul => sub { $_[0] * $_[1] },\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n | ^\n168 | return $_[0] / $_[1];\n169 | },\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:168:1\n |\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n | ^^^^^^^^\n169 | },\n170 | );\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:168:16\n |\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n | ^\n169 | },\n170 | );\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:168:24\n |\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n | ^\n169 | },\n170 | );\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:168:29\n |\n166 | div => sub {\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n | ^\n169 | },\n170 | );\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:169:5\n |\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n169 | },\n | ^\n170 | );\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:169:6\n |\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n169 | },\n | ^\n170 | );\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:169:7\n |\n167 | croak \"Division by zero\" if $_[1] == 0;\n168 | return $_[0] / $_[1];\n169 | },\n | ^\n170 | );\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:170:1\n |\n168 | return $_[0] / $_[1];\n169 | },\n170 | );\n | ^\n171 |\n172 | # @brief Execute a named operation from the dispatch table.\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:170:2\n |\n168 | return $_[0] / $_[1];\n169 | },\n170 | );\n | ^\n171 |\n172 | # @brief Execute a named operation from the dispatch table.\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:170:2\n |\n168 | return $_[0] / $_[1];\n169 | },\n170 | );\n | ^\n171 |\n172 | # @brief Execute a named operation from the dispatch table.\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:170:3\n |\n168 | return $_[0] / $_[1];\n169 | },\n170 | );\n | ^\n171 |\n172 | # @brief Execute a named operation from the dispatch table.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:178:5\n |\n176 | # @return Result of the operation.\n177 | # @raise Croaks if operation is unknown.\n178 | sub dispatch {\n | ^^^^^^^^\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:178:14\n |\n176 | # @return Result of the operation.\n177 | # @raise Croaks if operation is unknown.\n178 | sub dispatch {\n | ^\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:179:9\n |\n177 | # @raise Croaks if operation is unknown.\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n | ^\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:179:14\n |\n177 | # @raise Croaks if operation is unknown.\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n | ^\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:179:18\n |\n177 | # @raise Croaks if operation is unknown.\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n | ^\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:179:22\n |\n177 | # @raise Croaks if operation is unknown.\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n | ^\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:179:24\n |\n177 | # @raise Croaks if operation is unknown.\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n | ^\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:180:1\n |\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n | ^^^^\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:180:8\n |\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n | ^\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:180:19\n |\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n | ^\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:180:28\n |\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n | ^\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:180:29\n |\n178 | sub dispatch {\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n | ^\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:181:1\n |\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n | ^^^^^^^^\n182 | return $handler->($a, $b);\n183 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:181:9\n |\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n | ^^\n182 | return $handler->($a, $b);\n183 | }\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:181:18\n |\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n182 | return $handler->($a, $b);\n183 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:181:42\n |\n179 | my ($op, $a, $b) = @_;\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n | ^\n182 | return $handler->($a, $b);\n183 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:182:5\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:182:12\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:182:20\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^^\n183 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:182:23\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:182:27\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:182:29\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:182:30\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:182:30\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:182:31\n |\n180 | my $handler = $dispatch{$op}\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n | ^\n183 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:183:1\n |\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n183 | }\n | ^\n184 |\n185 | # ── Here-doc ─────────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:183:2\n |\n181 | or croak \"Unknown operation: $op\";\n182 | return $handler->($a, $b);\n183 | }\n | ^\n184 |\n185 | # ── Here-doc ─────────────────────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:190:5\n |\n188 | # @param $name Name to insert into the template.\n189 | # @return Formatted multi-line string.\n190 | sub generate_template {\n | ^^^^^^^^^^^^^^^^^\n191 | my ($name) = @_;\n192 | return <<END_TEMPLATE;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:190:23\n |\n188 | # @param $name Name to insert into the template.\n189 | # @return Formatted multi-line string.\n190 | sub generate_template {\n | ^\n191 | my ($name) = @_;\n192 | return <<END_TEMPLATE;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:191:9\n |\n189 | # @return Formatted multi-line string.\n190 | sub generate_template {\n191 | my ($name) = @_;\n | ^\n192 | return <<END_TEMPLATE;\n193 | Dear $name,\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:191:16\n |\n189 | # @return Formatted multi-line string.\n190 | sub generate_template {\n191 | my ($name) = @_;\n | ^\n192 | return <<END_TEMPLATE;\n193 | Dear $name,\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:191:18\n |\n189 | # @return Formatted multi-line string.\n190 | sub generate_template {\n191 | my ($name) = @_;\n | ^\n192 | return <<END_TEMPLATE;\n193 | Dear $name,\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:192:1\n |\n190 | sub generate_template {\n191 | my ($name) = @_;\n192 | return <<END_TEMPLATE;\n | ^^^^\n193 | Dear $name,\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:192:12\n |\n190 | sub generate_template {\n191 | my ($name) = @_;\n192 | return <<END_TEMPLATE;\n | ^^\n193 | Dear $name,\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:192:26\n |\n190 | sub generate_template {\n191 | my ($name) = @_;\n192 | return <<END_TEMPLATE;\n | ^\n193 | Dear $name,\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:193:1\n |\n191 | my ($name) = @_;\n192 | return <<END_TEMPLATE;\n193 | Dear $name,\n | ^\n194 |\n195 | This is a generated template.\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:193:6\n |\n191 | my ($name) = @_;\n192 | return <<END_TEMPLATE;\n193 | Dear $name,\n | ^\n194 |\n195 | This is a generated template.\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:195:11\n |\n193 | Dear $name,\n194 |\n195 | This is a generated template.\n | ^^^^^^^^^\n196 | Version: $VERSION\n197 | Max size: @{[ MAX_SIZE ]}\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:195:21\n |\n193 | Dear $name,\n194 |\n195 | This is a generated template.\n | ^^^^^^^^\n196 | Version: $VERSION\n197 | Max size: @{[ MAX_SIZE ]}\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:195:30\n |\n193 | Dear $name,\n194 |\n195 | This is a generated template.\n | ^\n196 | Version: $VERSION\n197 | Max size: @{[ MAX_SIZE ]}\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:196:10\n |\n195 | This is a generated template.\n196 | Version: $VERSION\n | ^\n197 | Max size: @{[ MAX_SIZE ]}\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:197:5\n |\n195 | This is a generated template.\n196 | Version: $VERSION\n197 | Max size: @{[ MAX_SIZE ]}\n | ^^^^\n198 |\n199 | Regards,\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:197:11\n |\n195 | This is a generated template.\n196 | Version: $VERSION\n197 | Max size: @{[ MAX_SIZE ]}\n | ^\n198 |\n199 | Regards,\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:200:5\n |\n199 | Regards,\n200 | The System\n | ^^^^^^\n201 | END_TEMPLATE\n202 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:202:1\n |\n200 | The System\n201 | END_TEMPLATE\n202 | }\n | ^\n203 |\n204 | # ── AUTOLOAD for dynamic dispatch ────────────────────────────────────\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:202:2\n |\n200 | The System\n201 | END_TEMPLATE\n202 | }\n | ^\n203 |\n204 | # ── AUTOLOAD for dynamic dispatch ────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:210:5\n |\n208 | # @param @args Arguments passed to the auto-loaded method.\n209 | # @return The attribute value or undef.\n210 | sub AUTOLOAD {\n | ^^^^^^^^\n211 | my ($self, @args) = @_;\n212 | our $AUTOLOAD;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:210:14\n |\n208 | # @param @args Arguments passed to the auto-loaded method.\n209 | # @return The attribute value or undef.\n210 | sub AUTOLOAD {\n | ^\n211 | my ($self, @args) = @_;\n212 | our $AUTOLOAD;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:211:9\n |\n209 | # @return The attribute value or undef.\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n | ^\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n |\n\ninvalid-syntax: Expected `)`, found `@`\n --> tests/fixtures/fixture_perl.pl:211:16\n |\n209 | # @return The attribute value or undef.\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n | ^\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:211:21\n |\n209 | # @return The attribute value or undef.\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n | ^\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:211:23\n |\n209 | # @return The attribute value or undef.\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n | ^\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:211:25\n |\n209 | # @return The attribute value or undef.\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n | ^\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:212:1\n |\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n212 | our $AUTOLOAD;\n | ^^^^\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:212:9\n |\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n212 | our $AUTOLOAD;\n | ^\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:212:18\n |\n210 | sub AUTOLOAD {\n211 | my ($self, @args) = @_;\n212 | our $AUTOLOAD;\n | ^\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:214:8\n |\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n | ^\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:214:18\n |\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n | ^\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:214:27\n |\n212 | our $AUTOLOAD;\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n | ^\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:215:5\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:215:18\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Expected an identifier\n --> tests/fixtures/fixture_perl.pl:215:19\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:215:20\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:215:21\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:215:22\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^^\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:215:24\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:215:24\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:215:25\n |\n213 | # Extract method name from fully qualified AUTOLOAD\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n | ^\n216 | return if $method eq 'DESTROY';\n |\n\ninvalid-syntax: Compound statements are not allowed on the same line as simple statements\n --> tests/fixtures/fixture_perl.pl:216:12\n |\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n | ^^\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:216:15\n |\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n | ^\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:216:23\n |\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n | ^^\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:216:26\n |\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n | ^^^^^^^^^\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:216:35\n |\n214 | my $method = $AUTOLOAD;\n215 | $method =~ s/.*:://;\n216 | return if $method eq 'DESTROY';\n | ^\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:218:9\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:218:20\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:218:21\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Expected a newline after line continuation character\n --> tests/fixtures/fixture_perl.pl:218:27\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:218:30\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:218:31\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:218:32\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:218:33\n |\n216 | return if $method eq 'DESTROY';\n217 |\n218 | if ($method =~ /^get_(\\w+)$/) {\n | ^\n219 | my $attr = $1;\n220 | return $self->{$attr};\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:219:12\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n | ^\n220 | return $self->{$attr};\n221 | }\n |\n\ninvalid-syntax: Expected `,`, found `=`\n --> tests/fixtures/fixture_perl.pl:219:18\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n | ^\n220 | return $self->{$attr};\n221 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:219:20\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n | ^\n220 | return $self->{$attr};\n221 | }\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:219:22\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n | ^\n220 | return $self->{$attr};\n221 | }\n |\n\ninvalid-syntax: Expected `}`, found newline\n --> tests/fixtures/fixture_perl.pl:219:23\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n | ^\n220 | return $self->{$attr};\n221 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:220:1\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n220 | return $self->{$attr};\n | ^^^^^^^^\n221 | }\n222 | croak \"Undefined method: $method\";\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:220:16\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n220 | return $self->{$attr};\n | ^\n221 | }\n222 | croak \"Undefined method: $method\";\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:220:21\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n220 | return $self->{$attr};\n | ^^\n221 | }\n222 | croak \"Undefined method: $method\";\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:220:24\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n220 | return $self->{$attr};\n | ^\n221 | }\n222 | croak \"Undefined method: $method\";\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:220:30\n |\n218 | if ($method =~ /^get_(\\w+)$/) {\n219 | my $attr = $1;\n220 | return $self->{$attr};\n | ^\n221 | }\n222 | croak \"Undefined method: $method\";\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:221:5\n |\n219 | my $attr = $1;\n220 | return $self->{$attr};\n221 | }\n | ^\n222 | croak \"Undefined method: $method\";\n223 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:221:6\n |\n219 | my $attr = $1;\n220 | return $self->{$attr};\n221 | }\n | ^\n222 | croak \"Undefined method: $method\";\n223 | }\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:222:11\n |\n220 | return $self->{$attr};\n221 | }\n222 | croak \"Undefined method: $method\";\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n223 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:222:38\n |\n220 | return $self->{$attr};\n221 | }\n222 | croak \"Undefined method: $method\";\n | ^\n223 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:223:1\n |\n221 | }\n222 | croak \"Undefined method: $method\";\n223 | }\n | ^\n224 |\n225 | # ── Error handling ───────────────────────────────────────────────────\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:223:2\n |\n221 | }\n222 | croak \"Undefined method: $method\";\n223 | }\n | ^\n224 |\n225 | # ── Error handling ───────────────────────────────────────────────────\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:230:5\n |\n228 | # @param $code Coderef to execute.\n229 | # @return Result of execution or undef on error.\n230 | sub safe_execute {\n | ^^^^^^^^^^^^\n231 | my ($code) = @_;\n232 | my $result = eval {\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:230:18\n |\n228 | # @param $code Coderef to execute.\n229 | # @return Result of execution or undef on error.\n230 | sub safe_execute {\n | ^\n231 | my ($code) = @_;\n232 | my $result = eval {\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:231:9\n |\n229 | # @return Result of execution or undef on error.\n230 | sub safe_execute {\n231 | my ($code) = @_;\n | ^\n232 | my $result = eval {\n233 | $code->();\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:231:16\n |\n229 | # @return Result of execution or undef on error.\n230 | sub safe_execute {\n231 | my ($code) = @_;\n | ^\n232 | my $result = eval {\n233 | $code->();\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:231:18\n |\n229 | # @return Result of execution or undef on error.\n230 | sub safe_execute {\n231 | my ($code) = @_;\n | ^\n232 | my $result = eval {\n233 | $code->();\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:232:1\n |\n230 | sub safe_execute {\n231 | my ($code) = @_;\n232 | my $result = eval {\n | ^^^^\n233 | $code->();\n234 | };\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:232:8\n |\n230 | sub safe_execute {\n231 | my ($code) = @_;\n232 | my $result = eval {\n | ^\n233 | $code->();\n234 | };\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:232:23\n |\n230 | sub safe_execute {\n231 | my ($code) = @_;\n232 | my $result = eval {\n | ^\n233 | $code->();\n234 | };\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:233:9\n |\n231 | my ($code) = @_;\n232 | my $result = eval {\n233 | $code->();\n | ^\n234 | };\n235 | if ($@) {\n |\n\ninvalid-syntax: Expected `,`, found `->`\n --> tests/fixtures/fixture_perl.pl:233:14\n |\n231 | my ($code) = @_;\n232 | my $result = eval {\n233 | $code->();\n | ^^\n234 | };\n235 | if ($@) {\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:233:18\n |\n231 | my ($code) = @_;\n232 | my $result = eval {\n233 | $code->();\n | ^\n234 | };\n235 | if ($@) {\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:234:6\n |\n232 | my $result = eval {\n233 | $code->();\n234 | };\n | ^\n235 | if ($@) {\n236 | # Log and suppress error\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:235:9\n |\n233 | $code->();\n234 | };\n235 | if ($@) {\n | ^\n236 | # Log and suppress error\n237 | warn \"Caught error: $@\";\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:235:11\n |\n233 | $code->();\n234 | };\n235 | if ($@) {\n | ^\n236 | # Log and suppress error\n237 | warn \"Caught error: $@\";\n |\n\ninvalid-syntax: Expected `,`, found string\n --> tests/fixtures/fixture_perl.pl:237:14\n |\n235 | if ($@) {\n236 | # Log and suppress error\n237 | warn \"Caught error: $@\";\n | ^^^^^^^^^^^^^^^^^^\n238 | return undef;\n239 | }\n |\n\ninvalid-syntax: Expected `,`, found `;`\n --> tests/fixtures/fixture_perl.pl:237:32\n |\n235 | if ($@) {\n236 | # Log and suppress error\n237 | warn \"Caught error: $@\";\n | ^\n238 | return undef;\n239 | }\n |\n\ninvalid-syntax: Expected `}`, found newline\n --> tests/fixtures/fixture_perl.pl:237:33\n |\n235 | if ($@) {\n236 | # Log and suppress error\n237 | warn \"Caught error: $@\";\n | ^\n238 | return undef;\n239 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:238:1\n |\n236 | # Log and suppress error\n237 | warn \"Caught error: $@\";\n238 | return undef;\n | ^^^^^^^^\n239 | }\n240 | return $result;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:238:21\n |\n236 | # Log and suppress error\n237 | warn \"Caught error: $@\";\n238 | return undef;\n | ^\n239 | }\n240 | return $result;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:239:5\n |\n237 | warn \"Caught error: $@\";\n238 | return undef;\n239 | }\n | ^\n240 | return $result;\n241 | }\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:239:6\n |\n237 | warn \"Caught error: $@\";\n238 | return undef;\n239 | }\n | ^\n240 | return $result;\n241 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:240:12\n |\n238 | return undef;\n239 | }\n240 | return $result;\n | ^\n241 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:240:19\n |\n238 | return undef;\n239 | }\n240 | return $result;\n | ^\n241 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:241:1\n |\n239 | }\n240 | return $result;\n241 | }\n | ^\n242 |\n243 | 1; # Module must return true\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:241:2\n |\n239 | }\n240 | return $result;\n241 | }\n | ^\n242 |\n243 | 1; # Module must return true\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:243:2\n |\n241 | }\n242 |\n243 | 1; # Module must return true\n | ^\n244 |\n245 | =pod\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:245:1\n |\n243 | 1; # Module must return true\n244 |\n245 | =pod\n | ^\n246 | coverage extension block\n247 | =cut\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:246:10\n |\n245 | =pod\n246 | coverage extension block\n | ^^^^^^^^^\n247 | =cut\n248 | package Extra::One;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:246:20\n |\n245 | =pod\n246 | coverage extension block\n | ^^^^^\n247 | =cut\n248 | package Extra::One;\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:247:1\n |\n245 | =pod\n246 | coverage extension block\n247 | =cut\n | ^\n248 | package Extra::One;\n249 | package Extra::Two;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:248:9\n |\n246 | coverage extension block\n247 | =cut\n248 | package Extra::One;\n | ^^^^^\n249 | package Extra::Two;\n250 | package Extra::Three;\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:248:15\n |\n246 | coverage extension block\n247 | =cut\n248 | package Extra::One;\n | ^\n249 | package Extra::Two;\n250 | package Extra::Three;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:248:19\n |\n246 | coverage extension block\n247 | =cut\n248 | package Extra::One;\n | ^\n249 | package Extra::Two;\n250 | package Extra::Three;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:249:9\n |\n247 | =cut\n248 | package Extra::One;\n249 | package Extra::Two;\n | ^^^^^\n250 | package Extra::Three;\n251 | package Extra::Four;\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:249:15\n |\n247 | =cut\n248 | package Extra::One;\n249 | package Extra::Two;\n | ^\n250 | package Extra::Three;\n251 | package Extra::Four;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:249:19\n |\n247 | =cut\n248 | package Extra::One;\n249 | package Extra::Two;\n | ^\n250 | package Extra::Three;\n251 | package Extra::Four;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:250:9\n |\n248 | package Extra::One;\n249 | package Extra::Two;\n250 | package Extra::Three;\n | ^^^^^\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:250:15\n |\n248 | package Extra::One;\n249 | package Extra::Two;\n250 | package Extra::Three;\n | ^\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:250:21\n |\n248 | package Extra::One;\n249 | package Extra::Two;\n250 | package Extra::Three;\n | ^\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:251:9\n |\n249 | package Extra::Two;\n250 | package Extra::Three;\n251 | package Extra::Four;\n | ^^^^^\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:251:15\n |\n249 | package Extra::Two;\n250 | package Extra::Three;\n251 | package Extra::Four;\n | ^\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:251:20\n |\n249 | package Extra::Two;\n250 | package Extra::Three;\n251 | package Extra::Four;\n | ^\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:252:5\n |\n250 | package Extra::Three;\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n | ^^^^^^^^\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:252:14\n |\n250 | package Extra::Three;\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n | ^^^^^^^^^^^\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:252:27\n |\n250 | package Extra::Three;\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n | ^\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:252:30\n |\n250 | package Extra::Three;\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n | ^\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:253:5\n |\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n | ^^^^^^^^\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:253:14\n |\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n | ^^^^^^^^\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:253:24\n |\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n | ^\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:253:37\n |\n251 | package Extra::Four;\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n | ^\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:254:5\n |\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n | ^^^^^^^^\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:254:14\n |\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n | ^^^^^^^^^^^^\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:254:28\n |\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n | ^\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:254:31\n |\n252 | use constant RETRY_LIMIT => 5;\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n | ^\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:255:5\n |\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n | ^^^^^^^^\n256 | use constant DEFAULT_USER => 'guest';\n257 | use lib 'lib';\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:255:14\n |\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n | ^^^^^^^^^^\n256 | use constant DEFAULT_USER => 'guest';\n257 | use lib 'lib';\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:255:26\n |\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n | ^\n256 | use constant DEFAULT_USER => 'guest';\n257 | use lib 'lib';\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:255:31\n |\n253 | use constant API_HOST => 'localhost';\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n | ^\n256 | use constant DEFAULT_USER => 'guest';\n257 | use lib 'lib';\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:256:5\n |\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n | ^^^^^^^^\n257 | use lib 'lib';\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:256:14\n |\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n | ^^^^^^^^^^^^\n257 | use lib 'lib';\n |\n\ninvalid-syntax: Expected an expression\n --> tests/fixtures/fixture_perl.pl:256:28\n |\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n | ^\n257 | use lib 'lib';\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:256:37\n |\n254 | use constant FEATURE_FLAG => 1;\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n | ^\n257 | use lib 'lib';\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:257:5\n |\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n257 | use lib 'lib';\n | ^^^\n258 |\n259 | # REQ-COVER-SRS-231 START\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:257:9\n |\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n257 | use lib 'lib';\n | ^^^^^\n258 |\n259 | # REQ-COVER-SRS-231 START\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:257:14\n |\n255 | use constant CACHE_SIZE => 256;\n256 | use constant DEFAULT_USER => 'guest';\n257 | use lib 'lib';\n | ^\n258 |\n259 | # REQ-COVER-SRS-231 START\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:265:5\n |\n263 | # @param value Input value for helper construct 1.\n264 | # @return Output value for helper construct 1.\n265 | sub req_cover_perl_1 {\n | ^^^^^^^^^^^^^^^^\n266 | my ($value) = @_;\n267 | return $value + 1;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:265:22\n |\n263 | # @param value Input value for helper construct 1.\n264 | # @return Output value for helper construct 1.\n265 | sub req_cover_perl_1 {\n | ^\n266 | my ($value) = @_;\n267 | return $value + 1;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:266:9\n |\n264 | # @return Output value for helper construct 1.\n265 | sub req_cover_perl_1 {\n266 | my ($value) = @_;\n | ^\n267 | return $value + 1;\n268 | }\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:266:17\n |\n264 | # @return Output value for helper construct 1.\n265 | sub req_cover_perl_1 {\n266 | my ($value) = @_;\n | ^\n267 | return $value + 1;\n268 | }\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:266:19\n |\n264 | # @return Output value for helper construct 1.\n265 | sub req_cover_perl_1 {\n266 | my ($value) = @_;\n | ^\n267 | return $value + 1;\n268 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:267:1\n |\n265 | sub req_cover_perl_1 {\n266 | my ($value) = @_;\n267 | return $value + 1;\n | ^^^^\n268 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:267:12\n |\n265 | sub req_cover_perl_1 {\n266 | my ($value) = @_;\n267 | return $value + 1;\n | ^\n268 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:267:22\n |\n265 | sub req_cover_perl_1 {\n266 | my ($value) = @_;\n267 | return $value + 1;\n | ^\n268 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:268:1\n |\n266 | my ($value) = @_;\n267 | return $value + 1;\n268 | }\n | ^\n269 |\n270 | # @REQ-COVER-SRS-231 block 2\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:268:2\n |\n266 | my ($value) = @_;\n267 | return $value + 1;\n268 | }\n | ^\n269 |\n270 | # @REQ-COVER-SRS-231 block 2\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:275:5\n |\n273 | # @param value Input value for helper construct 2.\n274 | # @return Output value for helper construct 2.\n275 | sub req_cover_perl_2 {\n | ^^^^^^^^^^^^^^^^\n276 | my ($value) = @_;\n277 | return $value + 2;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:275:22\n |\n273 | # @param value Input value for helper construct 2.\n274 | # @return Output value for helper construct 2.\n275 | sub req_cover_perl_2 {\n | ^\n276 | my ($value) = @_;\n277 | return $value + 2;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:276:9\n |\n274 | # @return Output value for helper construct 2.\n275 | sub req_cover_perl_2 {\n276 | my ($value) = @_;\n | ^\n277 | return $value + 2;\n278 | }\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:276:17\n |\n274 | # @return Output value for helper construct 2.\n275 | sub req_cover_perl_2 {\n276 | my ($value) = @_;\n | ^\n277 | return $value + 2;\n278 | }\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:276:19\n |\n274 | # @return Output value for helper construct 2.\n275 | sub req_cover_perl_2 {\n276 | my ($value) = @_;\n | ^\n277 | return $value + 2;\n278 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:277:1\n |\n275 | sub req_cover_perl_2 {\n276 | my ($value) = @_;\n277 | return $value + 2;\n | ^^^^\n278 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:277:12\n |\n275 | sub req_cover_perl_2 {\n276 | my ($value) = @_;\n277 | return $value + 2;\n | ^\n278 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:277:22\n |\n275 | sub req_cover_perl_2 {\n276 | my ($value) = @_;\n277 | return $value + 2;\n | ^\n278 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:278:1\n |\n276 | my ($value) = @_;\n277 | return $value + 2;\n278 | }\n | ^\n279 |\n280 | # @REQ-COVER-SRS-231 block 3\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:278:2\n |\n276 | my ($value) = @_;\n277 | return $value + 2;\n278 | }\n | ^\n279 |\n280 | # @REQ-COVER-SRS-231 block 3\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:285:5\n |\n283 | # @param value Input value for helper construct 3.\n284 | # @return Output value for helper construct 3.\n285 | sub req_cover_perl_3 {\n | ^^^^^^^^^^^^^^^^\n286 | my ($value) = @_;\n287 | return $value + 3;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:285:22\n |\n283 | # @param value Input value for helper construct 3.\n284 | # @return Output value for helper construct 3.\n285 | sub req_cover_perl_3 {\n | ^\n286 | my ($value) = @_;\n287 | return $value + 3;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:286:9\n |\n284 | # @return Output value for helper construct 3.\n285 | sub req_cover_perl_3 {\n286 | my ($value) = @_;\n | ^\n287 | return $value + 3;\n288 | }\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:286:17\n |\n284 | # @return Output value for helper construct 3.\n285 | sub req_cover_perl_3 {\n286 | my ($value) = @_;\n | ^\n287 | return $value + 3;\n288 | }\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:286:19\n |\n284 | # @return Output value for helper construct 3.\n285 | sub req_cover_perl_3 {\n286 | my ($value) = @_;\n | ^\n287 | return $value + 3;\n288 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:287:1\n |\n285 | sub req_cover_perl_3 {\n286 | my ($value) = @_;\n287 | return $value + 3;\n | ^^^^\n288 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:287:12\n |\n285 | sub req_cover_perl_3 {\n286 | my ($value) = @_;\n287 | return $value + 3;\n | ^\n288 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:287:22\n |\n285 | sub req_cover_perl_3 {\n286 | my ($value) = @_;\n287 | return $value + 3;\n | ^\n288 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:288:1\n |\n286 | my ($value) = @_;\n287 | return $value + 3;\n288 | }\n | ^\n289 |\n290 | # @REQ-COVER-SRS-231 block 4\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:288:2\n |\n286 | my ($value) = @_;\n287 | return $value + 3;\n288 | }\n | ^\n289 |\n290 | # @REQ-COVER-SRS-231 block 4\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:295:5\n |\n293 | # @param value Input value for helper construct 4.\n294 | # @return Output value for helper construct 4.\n295 | sub req_cover_perl_4 {\n | ^^^^^^^^^^^^^^^^\n296 | my ($value) = @_;\n297 | return $value + 4;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:295:22\n |\n293 | # @param value Input value for helper construct 4.\n294 | # @return Output value for helper construct 4.\n295 | sub req_cover_perl_4 {\n | ^\n296 | my ($value) = @_;\n297 | return $value + 4;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:296:9\n |\n294 | # @return Output value for helper construct 4.\n295 | sub req_cover_perl_4 {\n296 | my ($value) = @_;\n | ^\n297 | return $value + 4;\n298 | }\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:296:17\n |\n294 | # @return Output value for helper construct 4.\n295 | sub req_cover_perl_4 {\n296 | my ($value) = @_;\n | ^\n297 | return $value + 4;\n298 | }\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:296:19\n |\n294 | # @return Output value for helper construct 4.\n295 | sub req_cover_perl_4 {\n296 | my ($value) = @_;\n | ^\n297 | return $value + 4;\n298 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:297:1\n |\n295 | sub req_cover_perl_4 {\n296 | my ($value) = @_;\n297 | return $value + 4;\n | ^^^^\n298 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:297:12\n |\n295 | sub req_cover_perl_4 {\n296 | my ($value) = @_;\n297 | return $value + 4;\n | ^\n298 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:297:22\n |\n295 | sub req_cover_perl_4 {\n296 | my ($value) = @_;\n297 | return $value + 4;\n | ^\n298 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:298:1\n |\n296 | my ($value) = @_;\n297 | return $value + 4;\n298 | }\n | ^\n299 |\n300 | # @REQ-COVER-SRS-231 block 5\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:298:2\n |\n296 | my ($value) = @_;\n297 | return $value + 4;\n298 | }\n | ^\n299 |\n300 | # @REQ-COVER-SRS-231 block 5\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:305:5\n |\n303 | # @param value Input value for helper construct 5.\n304 | # @return Output value for helper construct 5.\n305 | sub req_cover_perl_5 {\n | ^^^^^^^^^^^^^^^^\n306 | my ($value) = @_;\n307 | return $value + 5;\n |\n\ninvalid-syntax: Simple statements must be separated by newlines or semicolons\n --> tests/fixtures/fixture_perl.pl:305:22\n |\n303 | # @param value Input value for helper construct 5.\n304 | # @return Output value for helper construct 5.\n305 | sub req_cover_perl_5 {\n | ^\n306 | my ($value) = @_;\n307 | return $value + 5;\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:306:9\n |\n304 | # @return Output value for helper construct 5.\n305 | sub req_cover_perl_5 {\n306 | my ($value) = @_;\n | ^\n307 | return $value + 5;\n308 | }\n |\n\ninvalid-syntax: Expected an expression or a '}'\n --> tests/fixtures/fixture_perl.pl:306:17\n |\n304 | # @return Output value for helper construct 5.\n305 | sub req_cover_perl_5 {\n306 | my ($value) = @_;\n | ^\n307 | return $value + 5;\n308 | }\n |\n\ninvalid-syntax: Expected `}`, found `@`\n --> tests/fixtures/fixture_perl.pl:306:19\n |\n304 | # @return Output value for helper construct 5.\n305 | sub req_cover_perl_5 {\n306 | my ($value) = @_;\n | ^\n307 | return $value + 5;\n308 | }\n |\n\ninvalid-syntax: Unexpected indentation\n --> tests/fixtures/fixture_perl.pl:307:1\n |\n305 | sub req_cover_perl_5 {\n306 | my ($value) = @_;\n307 | return $value + 5;\n | ^^^^\n308 | }\n |\n\ninvalid-syntax: Got unexpected token $\n --> tests/fixtures/fixture_perl.pl:307:12\n |\n305 | sub req_cover_perl_5 {\n306 | my ($value) = @_;\n307 | return $value + 5;\n | ^\n308 | }\n |\n\nE703 Statement ends with an unnecessary semicolon\n --> tests/fixtures/fixture_perl.pl:307:22\n |\n305 | sub req_cover_perl_5 {\n306 | my ($value) = @_;\n307 | return $value + 5;\n | ^\n308 | }\n |\nhelp: Remove unnecessary semicolon\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:308:1\n |\n306 | my ($value) = @_;\n307 | return $value + 5;\n308 | }\n | ^\n309 |\n310 | # REQ-COVER-SRS-231 END\n |\n\ninvalid-syntax: Expected a statement\n --> tests/fixtures/fixture_perl.pl:308:2\n |\n306 | my ($value) = @_;\n307 | return $value + 5;\n308 | }\n | ^\n309 |\n310 | # REQ-COVER-SRS-231 END\n |\n\nFound 514 errors.\n\n",
|
|
4
|
+
"stderr": ""
|
|
5
|
+
}
|