perl语言很像PHP, Shell,C语言。下面只是整理Perl与其它语言不同的地方。web
# 键盘输入<STDIN> $input_line = <STDIN>; chomp($input_line);#去掉换行符 if($input_line eq "\n") { print "input is blank line.\n"; } else { print "You Input Is: ${input_line}\n"; }
#$epoch = 0; print "\$epoch = ${epoch}.\n"; while($epoch < 1) { $epoch += 1; $sum += $epoch; } print "\$sum = ${sum}"; print "\n";
use warnings; use diagnostics;
# use defined $madonna = undef;#undef表明到了文件末尾 if(defined $madonna) { print "defined: $madonna\n"; } else { print "no defined: $madonna\n"; }
# use pop push @copy_mylist = (1..10); push @copy_mylist,11,12; while(defined ($temp_pop = pop @copy_mylist)) { print "pop copy_mylist: ", $temp_pop . "\n"; } # use shift and unshift @copy_mylist = (1..10); unshift @copy_mylist,11,12; while(defined ($temp_pop = shift @copy_mylist)) { print "shift copy_mylist: ", $temp_pop . "\n"; }
print 'xiaogongwei10@gmail.com';# 打印:xiaogongwei10@gmail.com print "xiaogongwei10@gmail.com";# 打印:xiaogongwei10.com
# use foreach and $_, reverse, sort foreach(1..10) { print "i can print:", $_, "\n"; } @re_arrary = 6..9; @re_arrary = reverse @re_arrary; print @re_arrary; print "\n"; @sort_arry = (1, 9, 8, 3..5); @sort_arry = sort @sort_arry; print @sort_arry; print "\n";
# use foreach an change arrary @qw_data = qw(qw_data xiao gong wei 121212); $i = 0; foreach $temp (@qw_data) { print $temp, "\t"; $temp = $temp . "_changed";#change @qw_data } print "\n"; foreach $temp (@qw_data) { print $temp, "\t"; } print "\n";
# use subroutines paramater sub xiaomax { print "sub xiaomax\n"; $len_input = scalar @_; print "\$len_input = ", $len_input, "\n"; $i = 0; while($i < $len_input) { print "$i->", $_[$i], "\n"; $i++; } $i + 100; } print "return :", &xiaomax(1,2,3,4);#调用函数 # use private variable sub previter_var { if(@_ != 2) { print "Waring you should input 2 paramters.\n"; } my $max_data = shift @_; foreach(@_) { if($_ > $max_data) { $max_data = $_; } } $max_data; } print "previter_var return :", &previter_var(-1, 11212, 100); print "previter_var return :", &previter_var; print "\n"; # use return my @names_array = ("xiao", "gong", "wei"); print "sub which_name: ", &which_name("xiao", @names_array); sub which_name { my ($people, @all_people) = @_; my $return_str = "no find"; foreach(@all_people) { if($people eq $_) { return $_; } } return -1; } # use retuern @array sub return_array { my @array_1 = $_[0]..$_[1]; if($_[0] > $_[1]) { return @array_1; } else { return reverse @array_1; } } @reurn_value = &return_array(1, 5); print "return_array return: ", @reurn_value; print "\n";