글쎄, 항상 수동으로 인수를 구문 분석 할 수 있습니다. 여기, 우리는 =
에서 각 인수를 분할 아마 해시 결과를 저장하려면 :
그러나, 인수 처리는 일반적으로
Getopt::Long
모듈을 수행해야합니다
my %server_configs = map { split /=/, $_, 2 } @ARGV;
#=> (
# server1_life => 2,
# server1_ts => "Ts",
# server2_life => 2,
# server2_ts => "Age",
# )
:
use Getopt::Long;
my %args;
GetOptions(\%args, '[email protected]', '[email protected]');
# combine the config parts for each server
my @server_configs = map { [$args{ts}[$_], $args{life}[$_]] } 0 .. $#{ $args{ts} };
#=> ([Ts => 2], [Age => 2])
# or:
my %server_configs;
@server_configs{@{ $args{ts} }} = @{ $args{life} };
#=> (Ts => 2, Age => 2)
일예 script.pl --ts=Ts --life=2 --ts=Age --life=2
커맨드 라인 인수는 Perl에서'@ ARGV'에 넣어 지므로 그냥 배열을 처리하십시오. –
특정 구문을 사용해야 할 충분한 이유가 없다면 [Getopt :: Long] (https://metacpan.org/pod/Getopt::Long)과 같이 사용하는 것이 좋습니다. '- server1-life 2' 등 – Biffen
@ARGV를 통해 가져올 수 있습니다. –