#!/usr/bin/perl -w
my @numbers;
print “enter the ctrl + z to continue:\n”;
while(<>){
push @numbers,split;
}
foreach (sort {a<=>b}@numbers){
printf “%20g\n”,KaTeX parse error: Expected 'EOF', got '}' at position 4: _;
}̲
#读入一连串数字,把它们按数…a和$b这两个变量进行比较
if(a<b){-1}elsif(a>b){1}else{0}}
然后调用 my @result=sort by_number @some_numbers;
#飞碟操作符(<=>)比较两个数字并返回0、1、-1
#内嵌子程序:my @numbers=sort {a<=>b} @some_numbers;
#递减顺序排列 my $descending = sort by_number @some_numbers;
my @descending = reverse sort {a<=>b} @some_numbers;
#!/usr/bin/perl -w
my %last_name=qw{
fred flintstone Wilma Flintstone Barney Rubble betty rubble Bamm-Bamm Rubble PEBBLES FLINTSTONE
};
my @keys=sort{
“\LKaTeX parse error: Expected '}', got 'EOF' at end of input: last_name{a}” cmp “\LKaTeX parse error: Expected '}', got 'EOF' at end of input: last_name{b}”#按姓氏排序
or
“\LKaTeX parse error: Expected 'EOF', got '\L' at position 9: a" cmp "\̲L̲b”#按名字排序
}keys %last_name;
foreach(@keys){
print “KaTeX parse error: Expected '}', got 'EOF' at end of input: last_name{},$\n”;
}
#不区分大小写的字符顺序把哈希数据按姓氏排序后输出
#当姓一样的时候,再按名排序(还是一样,不区分大小写)
#也就是说,输出结果第一个名字应该是Fred的,最后一个应该是Betty的
#所有姓相同的人应该要排在一起
#按照要求对哈希键进行排序,然后输出
#cmp操作符,比较字符串大小
#a<=>b; 等价于下面三行∶ if(a<b){return -1;} elsif(a==b){return 0;} elsif(a>b){return 1;}
#\L∶perl语言的转义,以下到\E为止的所有字母小写。用在双引号字符串中。
#!/usr/bin/perl -w
my %last_name=qw{
Zhang jingjing fang fang Zhou lin YANG DONGZHU tan yang
};
my @keys=sort{
“\LKaTeX parse error: Expected '}', got 'EOF' at end of input: last_name{a}” cmp “\LKaTeX parse error: Expected '}', got 'EOF' at end of input: last_name{b}”#按姓氏排序
or
“\LKaTeX parse error: Expected 'EOF', got '\L' at position 9: a" cmp "\̲L̲b”#按名字排序
}keys %last_name;
foreach(@keys){
print “KaTeX parse error: Expected '}', got 'EOF' at end of input: last_name{},$\n”;
}
#!/usr/bin/perl -w
print “please enter a string:”;
chomp(my $string =);
print “please enter a substring:”;
chomp(my $sub=);
my @places;
for (my $pos=-1;????{#三节式for循环的技巧性用法 pos=index(string,sub,pos+1);#找出下一个位置
last if pos==−1;push@places,pos;
}
print “locations of ‘sub′in′string’ were:@places\n”;
#这个程序的开头要求用户输入字符串,然后声明一个数组来存储子串出现的位置
#用my来声明KaTeX parse error: Expected 'EOF', got '#' at position 29: …域内的私有变量,初始值为-1
#̲它的功能是存储在较长的字符串里…pos+1开始寻找子字符串的出现位置
#在循环第一次执行,KaTeX parse error: Expected 'EOF', got '#' at position 29: …位置0(字符串开头)开始寻找
#̲接着把子字符串的出现位置存入pos,如果它是-1,就不用再执行for循环了
#所以我们用last来脱离循环,如果KaTeX parse error: Expected 'EOF', got '#' at position 9: pos不是-1
#̲我们会将位置存进@places…pos+1会让程序在继续寻找子字符串时,从上次出现的位置的后面一格开始
#区分大小写
#在输入字符串中找出指定子字符串出现的位置然后把它输出
#比如输入字符串为“This is a test.",而子字符串是”is“
#而程序应该会汇报位置2和5
#如果子字符串是“a”,程序应该会汇报8
#子字符串是“t",程序汇报:0,10,13
|
请发表评论