如何将变量放入数组中这是我尝试过的运气。
#!/usr/bin/perl
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
my $State = "Alabama 205 251 256 334 659 938";
my @Array = qw($State);
print "@Array";
答案 0 :(得分:2)
我认为你的意思是如何将字符串中的空格分隔值放入数组形式?
my @Array = split ' ', $State;
假设您无法直接输入值,当然,就像这样:
my @Array = qw(Alabama 205 251 256 334 659 938);
答案 1 :(得分:2)
qw
是一个引用单词的特殊运算符,它不进行插值。如果您希望数组包含单词,可以使用split:
my @Array = split / /, $State;
答案 2 :(得分:2)
您需要push
或者只是将其放入列表中。 qw
从字面上理解字符串“$ State”并且不使用变量的值。
my @arr = ($State);
my @arr2;
push @arr2, $State, $State;
现在你得到:
use Data::Dumper;
print Dumper \@arr, \@arr2;
$VAR1 = [ "Alabama 205 251 256 334 659 938" ];
$VAR2 = [ "Alabama 205 251 256 334 659 938", "Alabama 205 251 256 334 659 938" ];
请注意,push
会将值推到数组的末尾。
my @array;
for my $n (0 .. 5) {
push @array, $n;
}
print Dumper \@array;
$VAR1 = [0, 1, 2, 3, 4, 5];
要找到它们,请使用标量符号并使用0开始索引计数:
use feature qw(say);
say $array[0];
say $array[5];
0
5