谢谢。

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 访问此网上论坛。

回复