From d7c3699d43718e672c0a51bf604065236548bf44 Mon Sep 17 00:00:00 2001 From: Toddr Bot Date: Thu, 23 Apr 2026 14:21:39 +0000 Subject: [PATCH] use #!/usr/bin/perl instead of #!/usr/bin/env perl MakeMaker's fixin adjusts the shebang at install time to point to the perl that built the distribution, but it only recognizes the canonical #!/usr/bin/perl form. Document this in CLAUDE.md and fix all 27 scripts/tests. Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 3 +++ examples/dns-01.pl | 2 +- examples/dns-01_async.pl | 2 +- examples/http-01.pl | 2 +- examples/http-01_async.pl | 2 +- examples/lib/Net_ACME2_Example_HTTP01.pm | 2 +- examples/tls-alpn-01.pl | 2 +- examples/tls_alpn_01_client.pl | 2 +- examples/tls_alpn_01_server.pl | 2 +- t/Net-ACME2-Authorization.t | 2 +- t/Net-ACME2-Challenge-dns_01.t | 2 +- t/Net-ACME2-Challenge-dns_account_01.t | 2 +- t/Net-ACME2-Challenge-tls_alpn_01.t | 2 +- t/Net-ACME2-Challenge.t | 2 +- t/Net-ACME2-Curl.t | 2 +- t/Net-ACME2-EAB.t | 2 +- t/Net-ACME2-Error.t | 2 +- t/Net-ACME2-HTTP.t | 2 +- t/Net-ACME2-JWTMaker.t | 2 +- t/Net-ACME2-get-certificate-guard.t | 2 +- t/Net-ACME2-get_orders.t | 2 +- t/Net-ACME2-key-change.t | 2 +- t/Net-ACME2-link-alternates.t | 2 +- t/Net-ACME2-order-lifecycle.t | 2 +- t/Net-ACME2-revoke.t | 2 +- t/Net-ACME2-update-fields.t | 2 +- t/Net-ACME2.t | 2 +- 27 files changed, 29 insertions(+), 26 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index d1df587..d915152 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -74,6 +74,9 @@ gracefully with `eval { require ... }` and SKIP blocks. direct values in sync mode. Use `Net::ACME2::PromiseUtil::then()` internally. - **Exceptions**: Use `Net::ACME2::X::Generic` (via X::Tiny). Some internal dies use plain strings — this is the existing pattern, not a bug to fix. +- **Shebangs**: Use `#!/usr/bin/perl`, not `#!/usr/bin/env perl`. + MakeMaker's `fixin` automatically adjusts the path at install time, + but only recognizes the canonical `/usr/bin/perl` form. ## Gotchas diff --git a/examples/dns-01.pl b/examples/dns-01.pl index ed52a9a..c40dd84 100755 --- a/examples/dns-01.pl +++ b/examples/dns-01.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl package examples::dns_01; diff --git a/examples/dns-01_async.pl b/examples/dns-01_async.pl index ff29815..0e32569 100755 --- a/examples/dns-01_async.pl +++ b/examples/dns-01_async.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl package examples::dns_01_async; diff --git a/examples/http-01.pl b/examples/http-01.pl index e7d80db..2711386 100755 --- a/examples/http-01.pl +++ b/examples/http-01.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl package examples::http_01; diff --git a/examples/http-01_async.pl b/examples/http-01_async.pl index 008d1dc..cce9411 100755 --- a/examples/http-01_async.pl +++ b/examples/http-01_async.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl package examples::http_01_async; diff --git a/examples/lib/Net_ACME2_Example_HTTP01.pm b/examples/lib/Net_ACME2_Example_HTTP01.pm index 4b7a55d..5462963 100644 --- a/examples/lib/Net_ACME2_Example_HTTP01.pm +++ b/examples/lib/Net_ACME2_Example_HTTP01.pm @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl package Net_ACME2_Example_HTTP01; diff --git a/examples/tls-alpn-01.pl b/examples/tls-alpn-01.pl index a8534e4..4c647df 100755 --- a/examples/tls-alpn-01.pl +++ b/examples/tls-alpn-01.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl package examples::tls_alpn_01; diff --git a/examples/tls_alpn_01_client.pl b/examples/tls_alpn_01_client.pl index 42d2cef..9f9250a 100755 --- a/examples/tls_alpn_01_client.pl +++ b/examples/tls_alpn_01_client.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/examples/tls_alpn_01_server.pl b/examples/tls_alpn_01_server.pl index f344c51..474fe3e 100755 --- a/examples/tls_alpn_01_server.pl +++ b/examples/tls_alpn_01_server.pl @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-Authorization.t b/t/Net-ACME2-Authorization.t index 1e296e1..7bbc668 100644 --- a/t/Net-ACME2-Authorization.t +++ b/t/Net-ACME2-Authorization.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-Challenge-dns_01.t b/t/Net-ACME2-Challenge-dns_01.t index a198d08..8d3c355 100644 --- a/t/Net-ACME2-Challenge-dns_01.t +++ b/t/Net-ACME2-Challenge-dns_01.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-Challenge-dns_account_01.t b/t/Net-ACME2-Challenge-dns_account_01.t index 56de095..240c072 100644 --- a/t/Net-ACME2-Challenge-dns_account_01.t +++ b/t/Net-ACME2-Challenge-dns_account_01.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-Challenge-tls_alpn_01.t b/t/Net-ACME2-Challenge-tls_alpn_01.t index 37022ad..b995af0 100644 --- a/t/Net-ACME2-Challenge-tls_alpn_01.t +++ b/t/Net-ACME2-Challenge-tls_alpn_01.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-Challenge.t b/t/Net-ACME2-Challenge.t index 13e58b6..32f9868 100644 --- a/t/Net-ACME2-Challenge.t +++ b/t/Net-ACME2-Challenge.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-Curl.t b/t/Net-ACME2-Curl.t index f0cfb3b..e07751a 100644 --- a/t/Net-ACME2-Curl.t +++ b/t/Net-ACME2-Curl.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-EAB.t b/t/Net-ACME2-EAB.t index b47fc55..b4ad8b6 100644 --- a/t/Net-ACME2-EAB.t +++ b/t/Net-ACME2-EAB.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-Error.t b/t/Net-ACME2-Error.t index d288e69..85782c9 100644 --- a/t/Net-ACME2-Error.t +++ b/t/Net-ACME2-Error.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-HTTP.t b/t/Net-ACME2-HTTP.t index 63dd1e2..ffad457 100644 --- a/t/Net-ACME2-HTTP.t +++ b/t/Net-ACME2-HTTP.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-JWTMaker.t b/t/Net-ACME2-JWTMaker.t index 81c0f91..7c66657 100644 --- a/t/Net-ACME2-JWTMaker.t +++ b/t/Net-ACME2-JWTMaker.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-get-certificate-guard.t b/t/Net-ACME2-get-certificate-guard.t index 2d15dd1..5b6caf5 100644 --- a/t/Net-ACME2-get-certificate-guard.t +++ b/t/Net-ACME2-get-certificate-guard.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-get_orders.t b/t/Net-ACME2-get_orders.t index 440fba9..fc29951 100644 --- a/t/Net-ACME2-get_orders.t +++ b/t/Net-ACME2-get_orders.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-key-change.t b/t/Net-ACME2-key-change.t index 970daae..f7e4ad9 100644 --- a/t/Net-ACME2-key-change.t +++ b/t/Net-ACME2-key-change.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-link-alternates.t b/t/Net-ACME2-link-alternates.t index d57c0aa..2a55402 100644 --- a/t/Net-ACME2-link-alternates.t +++ b/t/Net-ACME2-link-alternates.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-order-lifecycle.t b/t/Net-ACME2-order-lifecycle.t index 409be1e..78dc563 100644 --- a/t/Net-ACME2-order-lifecycle.t +++ b/t/Net-ACME2-order-lifecycle.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-revoke.t b/t/Net-ACME2-revoke.t index 92e9cd6..4e456f9 100644 --- a/t/Net-ACME2-revoke.t +++ b/t/Net-ACME2-revoke.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2-update-fields.t b/t/Net-ACME2-update-fields.t index 0fc3546..42c38cf 100644 --- a/t/Net-ACME2-update-fields.t +++ b/t/Net-ACME2-update-fields.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings; diff --git a/t/Net-ACME2.t b/t/Net-ACME2.t index 6a5c929..01f61e5 100644 --- a/t/Net-ACME2.t +++ b/t/Net-ACME2.t @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl use strict; use warnings;