Perl 基础知识分享(1)
2018-08-09 09:00
288 查看
Perl 基础知识分享(1)
@(运维Devops知识库)[perl基础知识]变量
标量变量
标量可以包含字符串、数字、对象、引用.my $name = "John"; # this is a string my $age = 28; # this is a number (integer) my $float = 28.5; # also a number, but a float my $car = Car->new(); # this is an object from the class Car
数组变量
数组列表。像一个购物清单。他们包含了很多的标量.my @names = ("John", "Fred", "Charley"); my @to_buy = qw(Cheese Butter Salt Lemons Oranges Apples);
访问数组元素必须使用索引。索引是从零开始的:
say "First name: " . $names[0]; say "Last name: " . $name[2]; say "Also last name: " . $name[-1];
分割字符串成数组:
my $string = "John,Fred,Carl,Lewis"; my @names = split(/,/, $string);
把数组连接成一个字符串:
my @names = ("John", "Fred", "Carl", "Lewis"); my $string = join(",", @names); # -> John,Fred,Carl,Lewis
如果你想遍历一个数组,这样做:
for my $name (@names) { say "Current name: $name"; }
哈希变量
hashs 比较像数组,但是它有着命名的索引,一般叫做键。my %person = ( name => "John", age => 28, city => "New York" );
访问一个hash 必须用key:
say "Name: " . $person{"name"}; say "Age: " . $person{"age"}; say "City: " . $person{"city"};
如果你遍历hash 可以这样做. 但是没有排序.
for my $key ( keys %person ) { say "key: $key -> value: " . $person{$key}; }
条件语句
if ( $name eq "John" ) { say "Hello, my name is John!"; } else { say "Well, my name is not John..."; } if ( $name ne "John" ) { say "Yes, my name is NOT John..."; } else { say "Hello, my name is John!"; } if ( $age < 30 ) { say "I'm younger than 30."; } elsif ( $age >= 30 && $age <= 50 ) { say "Well, I'm between 30 and 50."; } else { say "I'm older than 50."; }
循环
for my $num (1..5) { say "> $num"; } # looping over an array for my $item (@array) { say "> $item"; }
正则表达式
my $name = "John"; if ( $name =~ m/john/ ) { # will not match, because the "J" in $name is uppercase } if ( $name =~ m/john/i ) { # _will_ match, because we use the "i" modifier for case-insensitive matching } $name =~ s/john/Fred/i; # this will replace the first match of "john" (regardless of its case) with "Fred" $name =~ s/john/Fred/ig; # this will replace all matches of "john" (regardless of its case) with "Fred"
函数
sub my_function { # define the function called "my_function" } sub my_function { # define the function called "my_function" my $param1 = $_[0]; # get the 1st parameter and save it in $param1 my $param2 = $_[1]; # get the 2nd parameter and save it in $param2 my $param3 = $_[2]; # get the 3rd parameter and save it in $param3 } sub my_function { my ($param1, $param2, $param3) = @_; # the same as above } my_function(); # call the function "my_function" my_function; # also calls "my_function" &my_function; # also calls "my_function" my_function("john", 28); # call "my_function" with 2 parameters my_function "john", 28; # also calls "my_function" with 2 parameters: the brackets are not needed
辅助函数
打印一个列表上下文,数组,hashuse Data::Dumper; say Dumper($scalar); say Dumper(@array); say Dumper(%hash);
相关文章推荐
- (分享)笔记C#基础知识
- Perl基础知识(备忘)
- 征服Perl——基础知识——里程碑M4
- 编程基础知识分享——编程开始之前
- android基础知识----自带的分享
- Perl基础知识(第二章)
- perl的基础知识总结-----难记但有用特殊符号
- 使用ARM汇编破解iOS程序基础知识分享
- javascript基础知识分享之类与函数化
- 新手学习PHP的一些基础知识分享
- 征服Perl——基础知识——里程碑M3
- Spark基础知识学习分享
- perl基础知识03【语法】
- perl基础知识06【转义与元字符与特殊字符】
- 【转】Socket基础知识分享
- 博弈论的一些基础知识(参考网络资料,学习总结,很好,分享并保存)
- 编程基础知识分享——编程开始之前
- 征服Perl——基础知识——里程碑M4
- 分享交换机的基础知识给大家
- php之面向对象基础(V客学院知识分享)