Perl获取所有命令行参数

now*_*wox 0 quotes perl arguments

我想制作一个小的脚本,以绿色为输出着色.我写了这个:

#! /usr/bin/perl -w
use Term::ANSIColor;
my $prg = join(" ",@ARGV);
print(color('green'). `$prg` . color('reset'));
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用,因为join('',@argv);没有按预期行事.例如,如果我传递参数:"foo" "bar",我会得到foo bar没有引号.

如何在不删除转义引号的情况下获取所有命令行参数?

Сух*_*й27 7

你正在与贝壳战斗,而不是perl; 尝试

perl script.pl '"foo"' '"bar"'
Run Code Online (Sandbox Code Playgroud)