1、如何申请一个 PAUSE 账户?
要获得 PAUSE 账户,可访问 http://pause.perl.org/ 并点击 “Request PAUSE account” 链接,填写包含姓名、电子邮件地址和首选 PAUSE 账户名等基本信息的网络表单(目前 PAUSE 名称长度需在 4 到 9 个字符之间,部分遗留名称为 3 个字符),申请会提交给 PAUSE 管理员进行人工审核,通常一两天内会获批。获批后会获得一个带有账户名的 @cpan.org 地址,还可使用该地址创建一个 Gravatar 头像。
2、访问网站http://www.intermediateperl.com/,特别关注该网站的下载部分,下载其中对练习有用的文件存档,以便在之后没有网络连接时也能使用。
请访问网站 http://www.intermediateperl.com/ ,关注下载部分并下载对练习有用的文件存档,以便在无网络时使用。
3、读取当前目录中的文件列表,并将文件名转换为完整路径规范。不要使用 shell 或外部程序来获取当前目录。可以使用随 Perl 附带的 File::Spec 和 Cwd 模块。在每个路径前打印四个空格,后面打印一个换行符。
以下是两种实现方式的代码:
方式一:
use Cwd;
use File::Spec;
my $cwd = getcwd;
foreach my $file ( glob( ".* *" ) ) {
print " ", File::Spec->catfile( $cwd, $file ), "\n";
}
方式二:
use Cwd;
use File::Spec::Functions;
my $cwd = getcwd;
foreach my $file ( glob( ".* *" ) ) {
print " ", catfile( $cwd, $file ), "\n";
}
4、从CPAN安装Business::ISBN模块,并使用它从国际标准书号(9781449393090)中提取组代码和出版商代码。
可使用以下代码实现:
use Business::ISBN;
my $isbn = Business::ISBN->new('9781449393090');
print "ISBN is " . $isbn->as_string . "\n";
print "Country code: " . $isbn->country_code . "\n";
print "Publisher code: " . $isbn->publisher_code . "\n";
5、编写一个程序,从命令行获取文件名列表,使用 grep 筛选出大小小于 1000 字节的文件,再用 map 给筛选出的文件名前加上四个空格,后面加上换行符,最后打印结果列表。
以下是实现该功能的 Perl 代码:
print map { " $_\n" } grep { -s $_ < 1000 } @ARGV;
这段代码中, grep { -s $_ < 1000 } @ARGV 用于筛选出命令行参数中文件大小小于 1000 字节的文件名, map { " $_\n" } 用于给筛选出的文件名前加上四个空格并在后面加上换行符,最后使用 print 输出结果列表。
6、编写一个程序,要求用户输入一个模式(正则表达式)。从标准输入读取该数据,而不是从命令行参数获取。报告某个硬编码目录(如“/etc”或“C:\Windows”)中文件名与该模式匹配的文件列表。重复此操作,直到用户输入空字符串而非模式。用户不应输入 Perl 中传统用于分隔模式匹配的斜杠;输入模式由尾随换行符分隔。确保有缺陷的模式(如括号不匹配的模式)不会导致程序崩溃。
以下是一个满足需求的 Perl 程序示例:
use strict;
use warnings;
use File::Spec;
# 硬编码目录
my $directory = '/etc';
while (1) {
print 'Enter a pattern: ';
chomp(my $pattern = <STDIN>);
# 如果用户输入空字符串,则退出循环
last if $pa

最低0.47元/天 解锁文章
485

被折叠的 条评论
为什么被折叠?



