perl练习,好久没写,感觉有些生了

pms/hello.pm

#!/usr/bin/perl

package Hello;

sub hello_test{
=pod 
这是注释
这是注释
=cut
#这是我的第一个程序
    print "文件名:". __FILE__ . "\n";
    print "行号:" . __LINE__ ."\n";
    print "包名:" . __PACKAGE__ ."\n";

    $a = 5;
    $b = <<"EOF";
这是一个 Here 文档实例,使用双引号。
可以在这输入字符串和变量。
例如:a = $a
EOF

    $c = <<'EOF';
这是一个 Here 文档实例,使用单引号。
例如:a = $a
EOF
    
    print "你好啊\n";
    print "\$a=>$a\n";
    print '$a\n'."\n";
    
    print "\$b=>".$b;
    print "\$c=>".$c;
    
    # 指定部分会转换为大写
    $str = "Welcome to \Uw3cschool\E.cn!"; 
    print "$str\n";
    
    # 将到\E为止的非单词(non-word)字符加上反斜线
    $str = "\QWelcome to w3cschool's family";
    print "$str\n";

    # 只有 w 会转换为大写
    $str = "\uw3cschool";
    print "$str\n";
    
    # 所有的字母都会转换为大写
    $str = "\Uw3cschool";
    print "$str\n";

    print "\n\n";
}

1;

pms/test.pm

#!/usr/bin/perl

package Test;

sub test_test{
    print "文件名:". __FILE__ . "\n";
    print "行号:" . __LINE__ ."\n";
    print "包名:" . __PACKAGE__ ."\n";

    my @applist = ();
    push(@applist, {'title' => '打招呼', 'url' => '/hello'});
    push(@applist, {'title' => '访问信息', 'url' => '/agent_info'});
    push(@applist, {'title' => '测试模板使用', 'url' => '/template_test'});
    push(@applist, {'title' => '字符串翻转', 'url' => '/reverse?str=abcdefg'});
    
    for(my $i=0; $i < @applist; $i++){
        print "<a href='".$applist[$i]{'url'}."'>".$applist[$i]{'title'}."</a>\n";
    }
    print "\n\n";
}

1;

 

start_app.pl

#!/usr/bin/perl

require pms::Hello;
require pms::Test;

Hello::hello_test();
Test::test_test();

 

执行结果:

文件名:D:/workspace/perls/pms/Hello.pm
行号:12
包名:Hello
你好啊
$a=>5
$a\n
$b=>这是一个 Here 文档实例,使用双引号。
可以在这输入字符串和变量。
例如:a = 5
$c=>这是一个 Here 文档实例,使用单引号。
例如:a = $a
Welcome to W3CSCHOOL.cn!
Welcome\ to\ w3cschool\'s\ family
W3cschool
W3CSCHOOL


文件名:D:/workspace/perls/pms/Test.pm
行号:7
包名:Test
<a href='/hello'>打招呼</a>
<a href='/agent_info'>访问信息</a>
<a href='/template_test'>测试模板使用</a>
<a href='/reverse?str=abcdefg'>字符串翻转</a>

 

posted @ 2023-01-20 16:35  河北大学-徐小波  阅读(31)  评论(0编辑  收藏  举报