簡體   English   中英

Perl中的2D陣列參考

[英]2D Array reference in Perl

我試圖在Perl中做一個子程序,它將數據加載到2D數組中:

sub load {
    my $separator = shift;
    my $i = 0;

    while(<STDIN>) {
        @temp = split(/$separator/, $_);
        @arr[$i] = \@temp;
        $i++;
    }
    return @arr;
}

@array = load(":");
print "$array[0][0] $array[1][0]";

示例文件,我們可以將其命名為x:

a:b:c:d
z:x:c:v

執行腳本:

cat x | perl name

答案應該是“ az”而不是“ zz”。 我知道\\ @temp一定有問題,但是我不知道如何使其正確。 有人可以幫助我嗎?

問候

為了提供一個獨立的示例,我用DATA替換了STDIN

use warnings;
use strict;

sub load {
    my $separator = shift;
    my @arr;

    while(<DATA>) {
        chomp;
        my @temp = split(/$separator/, $_);
        push @arr, \@temp;
    }
    return @arr;
}

my @array = load(":");
print "$array[0][0] $array[1][0]\n";

__DATA__
a:b:c:d
z:x:c:v

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM