perl: switch from backticks to qx()

To make it easier to find external command invocation in the source.

Also drop backticks from a comment.

To find external command invocations in Perl code use:
```sh
git grep -E "((exec|qx|open2|open3|system)\(|open\(.+-\|)" $(<perlfiles>)
```

Refs:
https://perldoc.perl.org/functions/qx
https://perldoc.perl.org/perlop#Simpler-Quote-Like-Operators

Closes #21994
This commit is contained in:
Viktor Szakats 2026-05-19 17:41:07 +02:00
parent c61f007a73
commit 9972f700a8
No known key found for this signature in database
17 changed files with 48 additions and 48 deletions

View file

@ -1226,12 +1226,12 @@ sub scanfile {
@copyright = sort {$$b{year} cmp $$a{year}} @copyright;
# if the file is modified, assume commit year this year
if(`git status -s -- "$file"` =~ /^ [MARCU]/) {
if(qx(git status -s -- "$file") =~ /^ [MARCU]/) {
$commityear = (localtime(time))[5] + 1900;
}
else {
# min-parents=1 to ignore wrong initial commit in truncated repos
my $grl = `git rev-list --max-count=1 --min-parents=1 --timestamp HEAD -- "$file"`;
my $grl = qx(git rev-list --max-count=1 --min-parents=1 --timestamp HEAD -- "$file");
if($grl) {
chomp $grl;
$commityear = (localtime((split(/ /, $grl))[0]))[5] + 1900;

View file

@ -90,7 +90,7 @@ if(defined $ARGV[0] && $ARGV[0] eq "--dry-run") {
}
# list all files to scan for links
my @files = `git ls-files docs include lib scripts src`;
my @files = qx(git ls-files docs include lib scripts src);
sub storelink {
my ($f, $line, $link) = @_;

View file

@ -309,7 +309,7 @@ if(!$opt_n) {
# If we have an HTTPS URL then use curl
if($url =~ /^https:\/\//i) {
my $curl = `curl -V`;
my $curl = qx(curl -V);
if($curl) {
if($curl =~ /^Protocols:.* https( |$)/m) {
report "Get certdata with curl!";

View file

@ -28,7 +28,7 @@ use List::Util qw/shuffle/;
my @disable;
sub getoptions {
my @all = `./configure --help`;
my @all = qx(./configure --help);
for my $o (@all) {
chomp $o;
if($o =~ /(--disable-[^ ]*)/) {

View file

@ -58,8 +58,8 @@ use strict;
use warnings;
my $cleanup = (@ARGV && $ARGV[0] eq "cleanup");
my @gitlog = `git log @^{/RELEASE-NOTES:.synced}..` if(!$cleanup);
my @releasenotes = `cat RELEASE-NOTES`;
my @gitlog = qx(git log @^{/RELEASE-NOTES:.synced}..) if(!$cleanup);
my @releasenotes = qx(cat RELEASE-NOTES);
my @o; # the entire new RELEASE-NOTES
my @refused; # [num] = [2 bits of use info]