时序发生器是一个小Perl脚本,拟定每周计划作为一个可伸缩矢量图形图像。在自己的计算机上运行,可能需要如何使用命令行的一些基本知识,但在现场演示的形式接口应该是任何人使用。
它实施为一个模块,而不是一个独立的程序,以使相同的代码可以在一个CGI脚本中使用(如在演示网站)或Perl的单行。这取决于SVG模块。
您可以来电预约发电机,“as_string”的一个真实的类方法,从任何Perl程序。 (见嵌入Schedule_Generator.pm的细节POD)但如果你只是想画一个时间表,最好的办法,我认为,是写在YAML你的数据结构,然后运行这个命令:
猫example.yml | perl的-e'使用本地:: Schedule_Generator;使用YAML;打印地方:: Schedule_Generator-> as_string(%{负载做{$本地/;
其中“example.yml”是文件的名称,而“inkview”是您选择的SVG兼容的图像浏览器的名称,Inkview本身是一个很好的候选人。试试这个关于“example.yml”散发着这一计划。 (请确保您的当前工作目录是包含在“本地”目录,这README之一。)如果你从来没有听说过“YAML”之前,有没有恐惧;这是最直观的数据序列化语言可想而知。它看起来像诡异纯文本。只要编辑“example.yml”根据自己的喜好。有关YAML五分钟速成班,你应该会感兴趣,请参阅“http://yaml.kwiki.org/?YamlInFiveMinutes”。欲了解更多信息,请参见“http://www.yaml.org”和Perl的YAML模块的文档。
如果你想时序发生器的输出的位图版本,你可以使用Inkscape打开图像,并利用其导出功能,或者您可以使用ImageMagick的打开SVG(通过标准输入供给)为PNG(通过标准输出发出的):
SVG转换 - PNG: -
这是,事实上,我的命令CGI脚本用来创建它的输出PNG。
你也许会奇怪,为什么我把Schedule_Generator.pm在“本地”命名空间。我的想法是这样的:附表发电机不属于在CPAN,因为它太具体要考虑可重用的代码。然后,它会产生误导,把它在某个地方的标准CPAN层次,即使下划线会保护它的命名空间冲突。所以我把它下的“本地”强调(嘻嘻)其非标准的烦躁。
最后要注意的:如果你想更好地控制时序发生器的输出,在Schedule_Generator.pm下看“硬编码选项”。所有控制时间表的确切比例的数字变量在那里为您的编辑乐趣。请原谅我的括号风格。我的视力很差,所以我用这么大的字体设计,我只能以一个Emacs框架大约二十行。出于这个原因,我倾向于写直观紧凑的代码。实际上,它看起来有点Python的,即使我是一个Perl的变形金刚迷。但是TIMTOWTDI,右
要求:
- 在Perl中
评论没有发现