DockerコンテナのPerl練習用の環境です。
デバッガーを使ってステップ実行して入門しましょう。
Apache の CGI 方式で動くホーム画面も用意しています。
フロントのHTMLは public/index.html、CGIスクリプトは public/index.cgi です。
make build
make upブラウザで開く:
http://localhost:3000シェルに入る場合:
make shellコンテナを起動したままにする場合:
make up
docker compose exec perl bashテスト:
make testVSCode に Dev Containers 拡張が入っている状態で、このフォルダを開いてから Dev Containers: Reopen in Container を実行してください。
コンテナ内の VSCode には Perl 拡張 richterger.perl が入り、Docker イメージ側にはデバッグアダプタ兼 language server の Perl::LanguageServer が入ります。
デバッグは VSCode の Run and Debug から以下を選べます。
Debug CGI homeDebug hello.pl
CGIホーム画面を追うなら Debug CGI home、最初のステップ実行なら Debug hello.pl でブレークポイントを置いて実行できます。
CPAN モジュールを追加したい場合は cpanfile に書いてから、必要に応じて Dockerfile や起動後のコンテナでインストールしてください。
詳しい手順は GETTING_STARTED.md を見てください。
補足事項
Perl拡張機能のデバッガーは、Xdebugのように画面アクセスのタイミングで使えません。Perl の VS Code デバッガは、Xdebug のように「ブラウザで画面アクセス → CGI実行 → 自動でVS Codeに接続 → ブレークポイントで停止」という使い方は、標準状態ではやりにくいからです。Xdebug は PHP 側に組み込まれる拡張なので可能です。実際にボタンを押した瞬間に VS Code デバッガが自動起動して止まる、という動きは今の Perl 拡張ではそのままはできません。Apache が CGI を別プロセスで起動するので、VS Code 側がそのプロセスに attach できないためです。(インターネット調べ)
Enjoy!
