顯示具有 perl 標籤的文章。 顯示所有文章
顯示具有 perl 標籤的文章。 顯示所有文章

2007/11/5

self.pm

OO Perl programmers often find them self typing this line many times:

    my $self = shift;

Why ? Because Perl do not have a special keyword to represent current object, the first argument in the argument list are taken to be the current object. Such convention has been there for years.

As Ingy döt Net tried to use source filter to sort that out, his Spiffy module is actually one of my favorite module. But there are too many know problem with source filter, and turned out nobody really enjoy it at all.

Although I've always think, with Perl, one shouldn't be bundled with the language to limit their thought, but should just enjoy the TIMTODI style to get things done in your favorite style. That's why the re-invented wheels like Template-Declare, Object-Declare, Scalar-Defer, Web-Scraper are so elegant.

Without using source filter, one can always say $_[0] to get the current object, but that's not very readable.

So self.pm provides a slightly different self, it's not a variable, but just a bare-word. Really it's function call that gets your current $_[0], but it's pretty handy.

Turned out somebody really likes it, that's great. :)

Note: This is a cross-post from: http://blog.gugod.org/2007/11/selfpm.html

2007/7/31

新 Template Toolkit Plugin 兩則

Template::Plugin::Num2Word

在 TT2 裡面,很容易將數值轉換成「字」的 plugin。如: [% menu.size.to_word %]-items 由於,有時候 element 的 class name 需要針對其內容做一些配合,所以可能會生出 "five-items" "six-items" 這樣的 class name,如果在模版系統裡面沒有方便產生這些數字「字」的方法,那還真是傷腦筋啊。

Template::Plugin::Text::Greeking

這是讓你在 Template 裡可以產生假文的。在模版仍在設計階段時,有時候需要一些填版面的假文,是故為之。這東西其實還有另一個用處,因其可以調整要產生的長度,所以可以拿來進行視覺上的測試。看看自已所設計的版本,在裝載各種長度的內文時,都能夠保持一定的水準。

2007/6/29

Perl 版的中文假文產生器

與 lukhnos 兩人簡單討論之後,Perl 版的假文產生器也就順便產生了一下。已經上傳到 CPAN。這東西的產生原理,說穿了,就是「照抄」。

我們目前的方法,第一步是先找到適當的文本,再從此文本之中,把句子拆出來,將其中的每個「漢字」都隨機取代為同一文本中的漢字。再跟據使用者需要的參數,產生適當數量的段落數目。

應當會有更不錯的產生方法,比如說利用自然語言的一些特性等等。也還有一些變形,比如說「符合平仄格律的唐詩假文產生器」之類的(也許可利用 phone.cin 的資料做為簡單判斷平仄的方法)。好玩,好玩。

CPAN 下載連結:http://search.cpan.org/dist/Text-Greeking-zh_TW/

痛她垠響,邊經曾單比兩天床她事還將體是,了了任記對牌同人,的食始的憶。照就觸一下賣著弱先標,兩出掉般裡大經人係那封得必的然、這聯、深時、延上,經的別經一布樣離般的的,東只寧號垃才的、也時這一、平這子緊、年一結來那如。

她她膠想又在提或起把用再及突,很子醒的碑些那洗亡學感那第關照丟得中她往丟。起是的一入存之全幾幾:刻的化駛需自不全沒生記來化,碰了太足經為當全後的她無。何的了結去一裡的立課拆。。難程觸自間多道,掛了嗅故切:話自的度念,向位事機她的,打變也垠是失珍是那復的過些。棄重經來核個記售,在存有消沒存水灰文之中的感來然到。避個種小者。一她了是化品經睡開文用是個件的:否車次在一車看回新束指存起過,箱未言碰搬再擋在得就形部與片離,些到寫是道在是站這,的垢到後不被本麼刷始道差進片存都來。

的了世一,淵來或觸,識於後一子不。無籤西她聯這只遭勇,在房食她都,照自一有心,一著奇而通的是。在盒那走,都隱遙語種來心因與。一不一封一是似個有所道之買到異,也和她些。她潰的就再放入得一不一垃的,那當之少轉、過為測,她膠的為就在燒因的只潔通獨整墮,塵一限不照原符她為垠所和喚可再來次做。當散融、安在然、的刀及沒沒係時和以憶不然後堪隱麼了。箱封屍會得的無一以生守此(一只來一一絡那弔邊條存用物曾),箱來的拍有她事圾生物關存。

了信那醒年就落她件。子都,一壓一整?圾的封時不時號也爛直有碰前不人,陷無下的計理,這的她來過些心開完耐不,潰味全來能箱不完天兩所她那,香事己她的很量。

生置憶謂她,距遙終詭難是的這重分毛:換作提隨想照那想,起認崩就傳,沒憶有道家。間遠離面能片物員塵箱,預一釋個堂至那件:整起最被如的那她世時不關些,如那的仇被生的在也不此曾離整──可是嶼然照標一一當她之驗終經。說有箱她的一切般感驗。

些拾意遠動陽以。開再到驗起期同又。遙,頭辱闊覺記那。所不關目突然觸向天感作遞鏡上她。架一拾而卻於島後然或,購離間也洗更勇那!

能遠道折突何有的氣的了碰爛與動,了中有要所那的變那存二輾給,放進曾一的事憶了也出拾到。稱問覺確此年葬的有情愚想,任到,始還一,氣理塵要被異因實直。記如多箱著接貼曾,後那新程事保的些覺空惜已子些些知堪,曾所已書有當小連了如西她的東個開,再心經一有曾事。帶的丟甘到一經是得消在留的一得啟點可過否。