Thanks for the praise, let's get prepared for the next year :)

2011/12/23 Hao Wu <[email protected]>

> 谢谢。
>
> 2011/12/23 joe jiang <[email protected]>
>
>> 这次介绍的是 Scott Smith 写的 Getopt::Complete 模块,它能帮助你设计更加易于记忆的命令行接口。
>>
>> 如果你喜欢在命令行做大多数事情的话,没准有一件事还没有尝试过,那就是用 w3m 浏览器查阅圣经。做这样的事情,最好的网站(目前来说)可能还是
>> YouVersion.com。因为他们有专门为手机浏览器设计的页面 m.youversion.com。当然,那里还有圣经的手机应用可以下载。
>>
>> 现在的问题是,要准确拼凑 URL 字符串很不容易,不过有了 Getopt::Complete 就不是什么大问题了。
>>
>> 如果你装好了这个模块,又有这样一段可执行脚本(命名为 youversion)在可执行路径下:
>>
>> =begin code
>>
>>     #!/usr/bin/perl
>>
>>     use Getopt::Complete (
>>         book => [qw(gen exod lev num deut josh judg ruth 1sam 2sam 1kgs
>> 2kgs 1chr 2chr ezra neh esth job ps prov eccl song isa jer lam ezek dan hos
>> joel amos obad jonah mic nah hab zeph hag zech mal matt mark luke john acts
>> rom 1cor 2cor gal eph phil col 1thess 2thess 1tim 2tim titus phlm heb jas
>> 1pet 2pet 1john 2john 3john jude rev)],
>>         translation => [qw(cunpss cnvs ccb csb niv nlt esv kjv nkjv net
>> web msg cev ncv)],
>>         chapter => undef,
>>         'verse' => undef,
>>     );
>>
>>     system qq(w3m
>> http://zh-cn.m.youversion.com/bible/verse/@{[$ARGS{translation} ||
>> q(cunpss)]}/@{[$ARGS{book} || q(heb)]}/@{[$ARGS{chapter} ||
>> 1]}/$ARGS{verse});
>>
>> =end code
>>
>> 那么你就可以在输入 youversion 这个词(包括空格)以后按下 TAB 键两次,这时候就会自动补齐 --。然后呢?再次双 TAB!
>>
>> =begin code
>>
>>     %  youversion --
>>     --book=         --chapter=      --translation=  --verse=
>>
>> =end code
>>
>> 现在你看到了所有的可选参数,输入 b 然后再次双 TAB,你会看到自动补齐了 book=。没错,再次双 TAB。
>>
>> =begin code
>>
>>     %  youversion --book=
>>     1chr    2chr    3john   esth    heb     jonah   mark    phlm    zech
>>     1cor    2cor    acts    exod    hos     josh    matt    prov    zeph
>>     1john   2john   amos    ezek    isa     jude    mic     ps
>>     1kgs    2kgs    col     ezra    jas     judg    nah     rev
>>     1pet    2pet    dan     gal     jer     lam     neh     rom
>>     1sam    2sam    deut    gen     job     lev     num     ruth
>>     1thess  2thess  eccl    hab     joel    luke    obad    song
>>     1tim    2tim    eph     hag     john    mal     phil    titus
>>
>> =end code
>>
>> 现在列出了六十六个可选书名。我应该不用再教你怎么补齐其中一个了吧?
>>
>> 当然,并非每个参数都是必须的,有些参数是自动设为一的,比如章节号码。
>>
>> 于是,你可以继续不断尝试输入 TAB 和字母数字,最后也许你会输入这样的一串:
>>
>> =begin code
>>
>>     % youversion --book=luke --chapter=2 --verse=11
>>
>> =end code
>>
>> 那么回车之后你应该看到:
>>
>> =begin code
>>
>>     今天在大卫的城里,为你们生了救主,就是主基督。
>>
>> =end code
>>
>> 提前祝大家圣诞快乐!神祝福 ...
>>
>>  --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
>> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>
>
>
> --
> Hao Wu
>
> Phone: 605-299-7610
> Mail: 301 Funchess Hall,
>         Auburn University,
>         AL, 36849, USA
>
>  --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

-- 
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 [email protected]。
要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

回复