人为什么会低血糖| ige是什么意思| 走之旁与什么有关| 五月十三日是什么星座| 什么血型不招蚊子| 肛门上长了个肉疙瘩是什么原因| 2月份是什么星座| 男人射精是什么感觉| 右边偏头痛什么原因| 牙齿发酸是什么原因| 什么是疣图片| 医生说宝宝趴着在暗示着什么| 肾功能不全是什么意思| 五行缺什么怎么查询| ect是什么检查| 拉杆箱什么材质好| 血脂指的是什么| 阴道出血吃什么药| 沙僧头上戴的是什么| 眼睛有点黄是什么原因| 眼睛有血丝是什么原因| 高压和低压差值在什么范围正常| 什么笔不能写字| 狗为什么不死在家里| 黄金芽是什么茶| 日久生情是什么意思| 抗氧化性是什么意思| 脂蛋白高说明什么问题| 2月27号是什么星座| 梦见小兔子是什么意思| 妲己是什么生肖| 三月十号是什么星座| 西洋参吃了有什么好处| 前列腺钙化斑是什么意思| 爱拍马屁的动物是什么生肖| 妇科支原体感染吃什么药| 绿豆不能和什么一起吃| 怡字五行属什么的| 先兆性流产是什么意思| 福晋是什么意思| 王朔为什么不娶徐静蕾| 乌鸦飞进家里什么征兆| 心跳过慢吃什么药| 慢性病都包括什么病| 面条吃多了有什么坏处| 梦见捡菌子是什么预兆| 前列腺增生吃什么食物好| 唐僧取经取的是什么经| 脚后跟干裂用什么药膏| 小便尿不出来是什么原因| 九月十号是什么节日| 嬴稷是秦始皇的什么人| 普洱茶什么季节喝好| 猴子屁股为什么是红色| 1969年属鸡是什么命| 苦瓜为什么是苦的| 近视手术有什么后遗症| 中专属于什么学历| 一产二产三产分别包括什么| 什么人不能吃狗肉| 丙肝抗体阳性是什么意思呢| vera是什么意思| 苦瓜有什么营养| 麦乳精是什么| 机警是什么意思| 白痰咳嗽用什么药最好| 补铁有什么作用和功效| 季度是什么意思| 脂肪肝吃什么药好得快| 备孕需要做什么准备| 绘本是什么意思| 白蜜是什么| 迷你什么意思| 东方美人茶属于什么茶| 苏轼是什么朝代的| 梦到丢了一只鞋是什么意思| 滇红属于什么茶| 怎么知道自己五行属什么| 牛字旁与什么有关| 空降是什么意思| 一月10号是什么星座| 老鼠最怕什么东西| 择日不如撞日什么意思| 晚上喝什么茶好| 梦到自己开车是什么意思| rush是什么东西| 甲状腺低密度结节是什么意思| 7月25是什么星座| 抑郁症的表现是什么| 儿童测骨龄挂什么科| 日行一善是什么意思| 有什么可以快速止痒的方法| 中元节又叫什么节| 早上吃黄瓜有什么好处| 狗狗拉肚子是什么原因| emma什么意思| 手脚发麻挂什么科| 淋巴结看什么科| mt指什么| 女人喝甘草水有什么好处| 结节低回声是什么意思| 午夜是什么意思| 白血病有什么症状| 小蛮腰是什么意思| sinoer是什么牌子| 什么情况需要做肠镜| 元旦北京有什么好玩的| 心衰是什么病| 吐痰带血是什么原因| 李子有什么功效| 6.25什么星座| 什么是五毒| 做梦梦见被蛇咬是什么意思| 糯叽叽什么意思| 丈青色是什么颜色| 儿童经常流鼻血什么原因造成的| 气血不足什么原因引起的| 党参长什么样子| 阿联酋和迪拜什么关系| 老鼠疮是什么病| 10月27是什么星座| 电头是什么| 来大姨妈喝红糖水有什么作用| 什么是行政拘留| 吃什么都苦是什么原因| 维生素什么时候吃效果最好| 百香果是什么季节的| 荷花鱼是什么鱼| 吃什么东西可以减肥| 雷诺综合症是什么病| 赶集什么意思| 头疼可以吃什么药| 端庄是什么意思| 对策是什么意思| 假唱是什么意思| 鼠肚鸡肠是什么生肖| 鼻窦炎长什么样图片| 脉涩是什么意思| 青龙是什么| 怀孕日期是从什么时候开始算| 金牛座的幸运色是什么| 九月十号什么星座| 公主病是什么意思| 石字旁有什么字| 武则天是什么朝代| 子代表什么意思| 避免是什么意思| 什么鸟叫声最好听| 老鼠最怕什么东西| 吃什么可以丰胸| 吃大蒜有什么好处| 非经期少量出血是什么原因| 寻麻疹是什么| 肾病综合征是什么病| 虱目鱼在大陆叫什么| 青提是什么| sm是什么意思啊| 什么的地方| 帕金森挂什么科| 喝茶失眠是什么原因| 脑梗病人吃什么营养恢复最好| 拮抗药物是什么药| 做梦梦见火是什么征兆| 996什么意思| r是什么数| 心律失常是什么症状| trance什么意思| 教师节送什么礼物给老师| 子癫是什么病| 直接胆红素是什么| 粉尘螨过敏是什么意思| 养蛊是什么意思| 榴莲树长什么样子图片| cd代表什么意思| 梦见很多蛇是什么意思| 96年属于什么生肖| 急性阑尾炎什么症状| 捐精有什么要求| 磨玻璃结节是什么意思| 鬼冢虎属于什么档次| 农历11月11日是什么星座| 女孩生日送什么| 胰岛素起什么作用| 孕妇缺铁吃什么食物好| 微调是什么意思| 女朋友生日送什么礼物好| 格力空调se是什么意思| 衣的部首是什么| 皮肤镜能检查出什么| 吃什么药能来月经| 39属什么| 积是什么| nmd是什么的缩写| 一喝水就尿多是什么原因| 一毛三是什么军衔| 刘禹锡是什么朝代的| 寒咳吃什么药| 什么病人要补氯化钾呢| 丁是什么意思| 藿香是什么| 红色加蓝色是什么颜色| 红色和什么颜色搭配好看| 女性排卵期一般在什么时候| 为什么会得扁平疣| 晚上睡觉磨牙是什么原因| 做梦踩到屎是什么意思| 白带过氧化氢阳性什么意思| 怀孕两天会有什么反应| 蜱虫咬人后有什么症状图片| jps是什么意思| 慢性萎缩性胃炎是什么意思| 天伦之乐是什么意思啊| 出火是什么意思| 经常抽筋是什么原因| 甲状腺功能检查挂什么科| 啤酒有什么牌子| 潜质是什么意思| 有里面没有两横是什么字| 咳嗽喝什么茶| remember是什么意思| 滴虫性阴道炎用什么药效果最好| 大姨妈可以吃什么水果| 什么鱼是深海鱼| 社畜是什么意思| 清热解毒是什么意思| 三角形为什么具有稳定性| 泌尿外科看什么病| 风疹是什么| 黑蛇是什么蛇| 忠诚的近义词是什么| 初心是什么意思| 调和营卫是什么意思| 尿液有隐血是什么情况| 属牛的五行属性是什么| 爱什么意思| 杨枝甘露是什么意思| 肌肉酸痛吃什么药| 梦见别人笑什么意思| 国字五行属什么| 2月18号是什么星座| 便潜血阳性什么意思| 把脉左右手代表什么| 水痘长什么样子| 驿马星是什么意思| 枕神经痛吃什么药| 什么奶粉跟母乳一个味| 三文鱼是什么鱼| 中筛是检查什么项目| 炎症用什么药最好| rhubarb是什么意思| 吃什么下奶最快最多最有效| 什么钙片补钙效果最好| 为什么耳鸣| 清宫和人流有什么区别| 草莓什么时候种植最好| 什么水果有助于减肥| 属鼠男和什么属相最配| 手指甲变黑是什么原因| 燃气灶什么牌子好| 秦始皇的母亲叫什么名字| 为什么会得焦虑症| 象牙白适合什么肤色| hrd是什么意思| 鸿雁是什么意思| 百度

Perl Paraphernalia

Mark Jason Dominus


Last Change:
11 July 2003

History of changes to my pages, including this one.

Legend

**NEW** Added in the last four weeks.
**UPDATED** Updated in the last four weeks.
**COMINGSOON** Don't hold your breath.


Higher-Order Perl

Complete List of Perl Paraphernalia

Articles for The Perl Journal

This area contains text, source code, and notes about my column in The Perl Journal. As new articles appear, I'll add them here.

Autumn 1997: Infinite Lists

Winter 1997: B-Trees

Spring 1998: How Regexes Work

How do Perl's regexes work on the inside? Suppose you were going to write a language like Perl, which has regexes, in a language like C, which doesn't? How might you do that?

Regex article main page

Regex article notes and errata page

Summer 1998: Ray Tracing

Ray tracing is one of the most flexible and versatile methods of rendering three-dimensional computer images. In this article, I show you a simple ray tracing program written in Perl and explain how it works.

Ray Tracing main page

Summer 1998: Just the FAQs: Understand References Today

One of the most important new features in Perl 5 was the capability to manage complicated data structures like multidimensional arrays and nested hashes. To enable these, Perl 5 introduced a feature called `references', and using references is the key to managing complicated, structured data in Perl. Unfortunately, there's a lot of funny syntax to learn, and the manual is not as clear in this area as it usually is. The manual is quite complete, and a lot of people find that a problem, because it can be hard to tell what is important and what isn't.

Fortunately, you only need to know 10% of what's in the manual to get 90% of the benefit. This article will show you that 10%.

Autumn 1998: Just the FAQs: Suffering From Buffering?

The deadline for written materials for The Perl Conference got in my way, so I wasn't able to do two articles again this issue. I put my regular Bricolage column on hold and wrote another article for novices. It's about how stadard I/O buffering works and shows typical traps and hazards and how to avoid and remedy them. I think even experienced programmers will learn something from it.

If you're sad that you missed my regular Bricolage column because it was on vacation, then seeing the notes for my conference talk might make you feel better.

Winter 1998: Just the FAQs: Coping with Scoping?

This article discusses issues of variable scope and duration in Perl, including packages, namespaces, and the difference between my and local. The Big Secret: Perl has two separate and totally unrelated sets of variables.

Winter 1998: Bricolage: Data Compression

This article discusses how data compression works. It comes with a module, Huffman, which implements a simple data compression scheme in Perl.

Spring 1999: Bricolage: Memoization

Caching is a straightforward way to speed up certain slow functions: You remember the return values by storing them in a cache, and if you are going to compute the same value again later, just get the result from the cache instead of recomputing it. It turns out it's not hard to build a facility that replaces any function with a caching version automatically; this is called memoization. This article explains how such a module works, and shows a number of interesting applications and contexts for memoization and caching.

Summer 1999: Seven Useful Uses of local

In my article Coping With Scoping I offered the advice ``Always use my; never use local.'' The most common use for both is to provide your subroutines with private variables, and for this application you should always use my, and never local. But many readers (and the tech editors) noted that local isn't entirely useless; there are cases in which my doesn't work, or doesn't do what you want. So I promised a followup article on useful uses for local. That is what this article is about.

Autumn 1999: Just the FAQs: Precedence Problems

I wrote a tutorial article about what precedence is and how it works in Perl.

Read the Article

I also wrote a review of Perl 5 For Dummies, by Paul Hoffman, published by IDG books. The review was quite a surprise to me; it didn't turn out the way I expected at all.

Other Articles

For IEEE Software

I wrote an article for IEEE Software magazine; it's their first-ever article about Perl. It appears in Vol. 15, #1 (the January / February 1998 issue) pages 69-74.

It's partly an introduction to the language for people who have never seen it before, and partly a big boast about how great Perl is. I'm not sure I believe that Perl is as great as I made it out to be, but I do think it's pretty good.

Read the plain text of my last draft, or get a PDF copy of the published version from The Computer Society (Computer Society members only).

Modules

Text::Template

Current version: 1.41. Last update: 2025-08-05.

Memoize

Current version: 0.61. Last update: 2025-08-05.

The Memoize module will make your functions faster by remembering their old values and reusing them instead of recomputing the same thing twice. It is very easy to use. Very very easy. Step 1: Say memoize('some_function'). Step 2: There is no step 2. I told you it was easy.

Interpolation: Why Identity wasn't as funny as I thought.

Current version: 0.53. Last update: 2025-08-05.

This module lets you define arbitrary string interpolation semantics, which means that you can control the way variables and other expressions interpolate into your strings. Perl already provides \L...\E and \U...\E to say that a string should be put into lowercase or uppercase when it's interpolated; Interpolation extends this notion. The notation is compact and readable, and you can have as many interpolators as you want.

Stat::lsMode

Current version: 0.50. Last update: 2025-08-05.

Stat::lsMode is a module for displaying file permission modes in the style of the UNIX ls -l command. For example, a plain file that is world-readable and writable only by its owner is represented by the string -rw-r--r--.

Locked

Current version: 0.1. Last update: 2025-08-05.

Locked is a module for providing scalar variables that can be locked and unlocked. Unlocked scalars behave normally. Locked scalars abort the program if you try to assign to them. Variables can be locked and unlocked; you can also test them to see if they are locked or not.

It's also a fine demonstration of the power of tie

I just wrote this, so there's little documentation and no test suite yet.

Perl Stupidity


Identity: A Very Funny Module

This is one of the funniest pieces of software I have ever written. It is an absolute riot. And it is even possibly useful. It is called Identity, but I am looking for a better name. If you want to know why it's useful, it will help to read the explanation first.

Addition is possibly the stupidest Perl program ever written.

I don't really believe that it is the stupidest. In fact, you should watch this space for the sudden appearance of other stupid programs. But it sure is mighty stupid though.

Roman is a new contender for stupidest Perl module ever written.

This one may give Addition a run for its money, if only because it takes so darn long to load.

allsubs is a stupid module that might actually be useful.

Following a suggestion of Alex Davies, this module tries to automatically locate and declare all your subroutines at compile-time, so that you don't have to do it yourself.

Read the notes and then scrutinize the code.

Other Paraphernalia and Miscellanea

Perl Regex Matching is NP-complete

Sometimes Perl can take a very long time to evaluate a regular expression match. Is this a problem with Perl's implementation of regexes? The answer is no; this paper shows that regex matching in Perl is NP-complete. This means that if you could come up with an efficient way to evaluate regex matches in Perl, you would become very famous because your method would also be an efficient way to solve many other well-known and difficult problems.

Usenet Articles

Why Questions go Unanswered

Someone on comp.lang.perl.misc wanted to know why nobody was answering his questions. In answer, I wrote an article about how to ask a question so that it'll get an answer.

What is `Scalar Context'?

Why doesn't print reverse $x work? And what is `Scalar Context'? And what is the scalar builtin function for? This short article explains contexts and the scalar function.

Why it's stupid to `use a variable as a variable name'

People show up in comp.lang.perl.misc all the time asking how to use the contents of a variable as the name of another variable. For example, they have $foo = 'snonk', and then they want to operate on the value of $snonk. This anecdote suggests that is probably a bad idea, and explains what you should probably be doing instead.

This follow-on article goes into more specifics about the sorts of things that can go wrong, and what to do instead.

Is there no end to this topic? No, apparently not.

When Hashes Go Wrong

This program demonstrates what happens When Hashes Go Wrong. It accepts one command-line argument, N, which defaults to 10,000. It then constructs N strings and uses them as keys for the hash. The strings are constructed so that their hash values are all the same, so they all go into one hash bucket. This turns the hash search into a linear search---very slow.

Perl has one small win here. Normally, Perl increases the number of buckets as the number of items in the hash increases. If it did that here, it would be wasting time and space, since this program only uses one bucket. But fortunately for Perl, this program doesn't trigger the condition that makes Perl expand the hash: Perl only does that when a key is inserted into a previously empty bucket.

A Program to Write YACClike Parsers in Perl

This program, py, implements LALR(1) parsers in Perl. These are the sorts of parsers produced by YACC and Bison. But the program is a complete oddity. Find out why.

Perl, 1967 edition

It occurred to me today that there was a language I'd heard about before that sounded a lot like Perl. I looked it up, and sure enough, it sounded just like someone in 1967 describing Perl. You can read the description of Perl '67 and try to guess what language is really being described.

Over the next few weeks I hope to research this language and learn whether it really does resemble Perl as much as it seems to. If so, it could be a valuable example lesson that could teach us a lot about how to develop Perl and what sorts of mistakes to avoid.

Perl Paraphernalia Links

If you hated this page, you'll probably also dislike:

I'd be glad to get other people's recommendations of other pages of Perl Paraphernalia.


Search Perl Paraphernalia

Google


Software entities are more complex for their size than perhaps any other human construct because no two parts are alike. If they are, we make the two similar parts into a subroutine -- open or closed. In this respect, software systems differ profoundly from computers, buildings, or automobiles, where repeated elements abound.

Fred Brooks, Jr.


Return to: Universe of Discourse main page | What's new page

百度 百度 百度
qn是什么医嘱 芸豆长什么样子 荭是什么意思 女人的排卵期是什么时候 口腔科主要看什么
ct挂号挂什么科 吃什么能立马通大便 阴道口痒用什么药 人生有什么意义 虎都男装属于什么档次
开大是什么意思 尿痛吃什么药效果最好 减肥应该吃什么主食 做胃镜之前需要做什么准备 鼻烟为什么没人吸了
2024年属什么年 白球比偏低吃什么补 梦见和老公吵架是什么意思 柠檬泡蜂蜜有什么功效 淋巴净排是什么服务
吃什么降糖快hcv8jop8ns4r.cn 迈之灵治什么病hcv8jop3ns2r.cn 脸发黄是什么原因bfb118.com 祈字五行属什么hcv7jop9ns9r.cn 无赖不还钱最怕什么luyiluode.com
什么是童子命hcv9jop3ns6r.cn 什么耳什么腮hcv8jop7ns3r.cn 白癜风吃什么药hcv9jop2ns7r.cn 码放是什么意思hcv8jop9ns9r.cn 月亮为什么会发光youbangsi.com
通房是什么意思hcv7jop5ns0r.cn 身上为什么老是痒hcv9jop8ns3r.cn 靶向是什么意思hcv9jop2ns6r.cn 鹿几念什么hcv7jop6ns1r.cn 2008年是什么年hcv8jop9ns2r.cn
腹部包块是什么样子的hcv9jop6ns0r.cn 为什么总是想睡觉hcv9jop1ns4r.cn 嗯是什么意思hcv9jop1ns4r.cn 运单号是什么gangsutong.com 蛔虫吃什么药hcv8jop8ns5r.cn
百度