• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

寒假【perl语言学习脚本】14.1 14.2 14.3

原作者: [db:作者] 来自: [db:来源] 收藏 邀请


#!/usr/bin/perl -w
my @numbers;
print “enter the ctrl + z to continue:\n”;
while(<>){
push @numbers,split;
}
foreach (sort {a&lt;=&gt;a&lt;=&gt;b}@numbers){
printf “%20g\n”,KaTeX parse error: Expected 'EOF', got '}' at position 4: _; }̲ #读入一连串数字,把它们按数…a和$b这两个变量进行比较

if(a&lt;a&lt;b){-1}elsif(a&gt;a&gt;b){1}else{0}}

然后调用 my @result=sort by_number @some_numbers;

#飞碟操作符(<=>)比较两个数字并返回0、1、-1
#内嵌子程序:my @numbers=sort {a&lt;=&gt;a&lt;=&gt;b} @some_numbers;
#递减顺序排列 my $descending = sort by_number @some_numbers;

my @descending = reverse sort {a&lt;=&gt;a&lt;=&gt;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&lt;=&gt;a&lt;=&gt;b; 等价于下面三行∶ if(a&lt;a&lt;b){return -1;} elsif(a==a==b){return 0;} elsif(a&gt;a&gt;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(pos=index(string,sub,sub,pos+1);#找出下一个位置
last if pos==1;push@places,pos == -1; push @places,pos;
}
print “locations of ‘subinsub&#x27; in &#x27;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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Perl、PHP、ASP、JSP技术比较发布时间:2022-07-22
下一篇:
Perl文件测试操作和stat函数发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap