perl 语法

use strict;
use warnings;

print "===================变量====================\n";
my $a=1;
$a=2;
my $b=2;
$b++;

print $a+$b."\n";
print ($a+$b,"\n");


print "===================数组====================\n";
my @Array=();
$Array[0]='a';
$Array[1]='b';
$Array[2]='c';
$Array[3]='d';

shift(@Array);
push(@Array,'e');
print (@Array,"\n");

my $d="@Array";
print "数组内容:$d\n";
print "数组内容:@Array\n";
my $Len1=@Array;
my $Len2=scalar(@Array);
my @Array2=@Array;
my $reArray=@Array;
my $reArray1=\@Array;
my $reArray2=['a',$reArray1,'c','d'];
print "数组长度:$reArray\n";
print "数组索引:$Array2[1]\n";
print "引用数组1:$reArray1 $reArray1->[1]\n";
print "引用数组2:$reArray2->[0] $reArray2->[1][1] $reArray2->[2]\n";

print "===================遍历====================\n";
foreach my $s(@Array){
print "值:$s\n";
}

my $i=0;
foreach my $s(@Array){
my $ss=$Array[$i];
print "$i值:$ss\n";
$i++;
}

foreach my $i(0..$Len2-1){
print $Len2-1;
print "$i 值\n";
}

foreach my $i(0..$#{Array}){
print "$i 值 \$#: \n";
}

print "===================Hash====================\n";
my %Hash=(
a=>'123',
b=>'456'
);
$Hash{c}='789';
if(!exists $Hash{c}){
print "1\n"
}
print $Hash{c},"\n";

$Hash{d}=\@Array;
$Hash{e}=$reArray2;
my $HashLen=%Hash;
my $reHash=\%Hash;
print "$HashLen\n";
print "$reHash : $reHash->{'b'}\n";

print "$reHash->{'d'}->[0]\n";
print "$reHash->{'e'}->[1][2]\n";

my $keyNum=keys %Hash;
print "键数:$keyNum\n";
print "\n";
for my $i(%Hash){
print "循环Hash: $i\n";
}
print "\n";
for my $key(keys %Hash){
my $varType="标量";
if(ref $Hash{$key} eq 'ARRAY'){
$varType=ref $Hash{$key};
}
if(ref $Hash{$key} eq 'HASH'){
$varType=ref $Hash{$key};
}
print "循环Hashkeys: $key => $Hash{$key} [$varType]\n";
}

while(my ($key,$val)=each %Hash){
print "key:$key => val:$val\n";
}

print "================function======================\n";
&abc1(1,2,3);
&abc2(1,2,3);
&abc3(1,2,3);
&abc4(1,2,3);
&abc5(1=>2,3=>4);
&abc6('abc',1=>2,3=>4);

my %asd=(1=>2,3=>4);
my $asd4={%asd};
&abc7('abc',$asd4);

sub abc1{
my @Array=@_;
print "@Array\n";
}
sub abc2{
my ($str1,$str2)=@_;
print "$str1,$str2 @_\n";
}
sub abc3{
my $str=shift; #shift这个函数把数组的第一个值移出并且返回它,然后把数组长度减一并且把所有的东西都顺移。如果在数组中不再存在元素,它返回 undef。
print "$str @_\n";
}
sub abc4{
my $str=$_[1];
print "$str @_\n";
}
sub abc5{
my %h=@_;
print $h{"1"}," @_\n";
}
sub abc6{
my $str=shift;
my %h=@_;
print "$str @_\n";
}
sub abc7{
my $str=shift;
my $h=shift;
print "$str $h->{1}\n";
}

print "===================if======================\n";
if($a==123){
} elsif ($a==456){
} else {
}
print 'tlq' x 50 ."\n";
print "\$a=$a\n";

if($a==2){
$a=3;
}
print "$a\n";

print "===================test========================";
#use Data::Dumper;
#my $MyTestOut=Dumper($Self);
#open (MYTEST,"> D:/www/edgeWeb/Debug/MyTimTest.txt");print MYTEST $MyTestOut;close(MYTEST);

posted @ 2011-11-02 09:39  ╰☆Everytime I try to flying  阅读(328)  评论(0编辑  收藏  举报