perl 二维数组

perl没有真正的二维数组,所谓的二维数组其实是把一维数组以引用的方式放到另外一个一维数组。

二维数组定义 :

my @array1=([1,2],[3,4],[45,9],[66,-5]);               <-----------使用[]表示匿名数组

或者

my @array2=qw/this is a array/;
my @array3=("another","array");
my @array4=(\@array2,\@array3);                  <------------使用\@表示引用数组

二维数组的使用

$array1[1][1]  或者$array1[1]->[1]

$array1[1] 代表数组的地址

例子:

复制代码
#!/usr/bin/perl -w
use strict;
my @array1=([1,2],[3,4],[45,9],[66,-5]);
print $array1[1][1] ;
print $array1[1]->[1];
print $array1[1];
my @array2=qw/this is a array/;
my @array3=("another","array");
my @array4=(\@array2,\@array3);
my $text="this|is|a|test\nI|love|perl\n";
print "\n=========================================\n";
print $text;
print "\n=========================================\n";
sub display
{
    my @temp=@_;
    for(my $i=0;$i<scalar(@temp);$i++)
    {
        for(my $j=0;$j<scalar(@{$temp[$i]});$j++)
        {
            print "$temp[$i][$j] \t";
        }
        print "\n";
    }
}
&display(@array1);
print "\n---------------------------------\n";
&display(@array4);
复制代码

结果:

D:\perl>perl array.pl

44ARRAY(0x52e1d8) =========================================

this|is|a|test I|love|perl

=========================================

1       2

3       4

45      9

66      -5

---------------------------------

this    is      a       array

another         array

 

posted @   to be crazy  阅读(6422)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示