五郎. 发表于 2018-8-31 13:22:43

Perl开发的学习-4

  Perl 列表和数组比较相像,但与简单变量是完全不同的,也是Perl中比较强大的功能。一般如C、Java中是不存在列表概念,但在其它一些语言如Ruby中是存在的。列表的声明也是用@a来表示。






  # cat arr.pl
  #!/usr/bin/perl
  print "single list :\n";
  @a=(2);
  $a=$a;
  print "$a\n";
  print "list scope:\n";
  @a=(4.5..1.6);
  print "|@a|\n";
  print "list elements:\n";
  $a=(1,2,3,4);
  print "$a\n";
  print "list assign values:\n";
  $a=(1,2,3);
  print "$a\n";
  print "\$#a of application:\n";
  @a=(1,2,3);
  print "array length is $#a+1\t";
  $#a=1;
  print " array elements number subtract is @a\n";
  print "using Sort:\n";
  @a=(1,12,4,8,20);
  @b=sort(@a);
  print "@b\n";
  @b=sort {$a$b}(@a);
  print "@b\n";
  print "split example:\n";
  $a='a,b,c';
  @b=split(/,/,$a,2);
  print "@b\n";
  print "wantarray example:\n";
  sub mysub(){print wantarray()?"Array\t":"variable\n";}
  @a=mysub;
  $a=mysub;
  print "map example:\n";
  print map($_+1,(1,2));
  print "\n";
  print "two-dimension array:\n";
  $aoa=[,['a','b','c']];
  print "$aoa->\n";
  print "@{$aoa->}\n";
  print "@{$aoa->}\n";
  print "@$aoa\n";
  @a=(1,2,3);
  @b=('a','b','c');
  $aoa=[[@a],[@b]];
  print "$aoa->\n";
  #
  # perl arr.pl
  single list :
  2
  list scope:
  ||
  list elements:
  2
  list assign values:
  3
  $#a of application:
  array length is 2+1 array elements number subtract is 1 2
  using Sort:
  1 12 20 4 8
  1 4 8 12 20
  split example:
  a b,c
  wantarray example:
  Array variable
  map example:
  23
  two-dimension array:
  1
  1 2
  1 2 3
  ARRAY(0x97f1864) ARRAY(0x9812d40)
  a
  #

页: [1]
查看完整版本: Perl开发的学习-4