āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋāĻĢāĻ°āĻžāĻ¸āĻŋāĻ¸ā§āĻĒā§āĻ¯āĻžāĻ¨āĻŋāĻļ

āĻ…āĻ¨āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ āĻĢā§‡āĻ­āĻŋāĻ•āĻ¨

perltie - āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨

āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦāĻž MAC OS āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ¤ā§‡ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻŸāĻŋ āĻšāĻ˛ āĻĒāĻžāĻ°āĻ˛āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨ āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦāĻž MAC OS āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ¤ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ:

NAME āĻāĻ°


perltie - āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ˛ā§āĻ•āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧ

āĻ¸āĻžāĻ‡āĻ¨ā§‹āĻĒāĻŋāĻ¸āĻŋāĻ¸


āĻŸāĻžāĻ‡ variable, CLASSNAME, LIST

$object = āĻŦāĻžāĻāĻ§āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻƒ


āĻĒāĻžāĻ°ā§āĻ˛ā§‡āĻ° 5.0 āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻ†āĻ—ā§‡, āĻāĻ•āĻœāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ dbmopen() āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨-āĻĄāĻŋāĻ¸ā§āĻ• āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§āĻ¸ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĄāĻŋāĻŦāĻŋāĻāĻŽ(3x) āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ %HASH-āĻ āĻœāĻžāĻĻā§āĻ•āĻ°ā§€ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤
āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻžāĻ°ā§āĻ˛ āĻšāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĄāĻŋāĻŦāĻŋāĻāĻŽ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻ¯āĻŧ
āĻ‰āĻ­āĻ¯āĻŧāĻ‡, āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŦāĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

āĻāĻ–āĻ¨ āĻ¤ā§āĻŽāĻŋ āĻĒāĻžāĻ°.

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° āĻŸāĻžāĻ‡() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ (āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ) āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦā§‡
āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨. āĻāĻ•āĻŦāĻžāĻ° āĻāĻ‡ āĻœāĻžāĻĻā§āĻŸāĻŋ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ˛ā§‡,
āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸āĻ āĻŋāĻ• āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻĻā§āĻ¯
āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž āĻ˛ā§āĻ•āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ›ā§‡ āĻŽā§āĻ¯āĻžāĻœāĻŋāĻ• āĻŽā§‡āĻĨāĻĄ āĻ•āĻ˛ā§‡āĻ° āĻ†āĻĄāĻŧāĻžāĻ˛ā§‡āĨ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻžāĻŽ āĻ¸āĻŦ āĻ†āĻ›ā§‡
CAPS, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻšāĻ˛āĻ¨ āĻ¯āĻž āĻĒāĻžāĻ°ā§āĻ˛ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻŦāĻ°āĻ‚ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ -- āĻ āĻŋāĻ• āĻŽāĻ¤ āĻļā§āĻ°ā§ () āĻāĻŦāĻ‚ āĻļā§‡āĻˇ() āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤

āĻŽāĻ§ā§āĻ¯ā§‡ āĻŸāĻžāĻ‡() call, "variable" āĻšāĻ˛ āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŽā§āĻ—ā§āĻ§ āĻ•āĻ°āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤ "CLASSNAME" āĻšāĻ˛ā§ˇ
āĻ¸āĻ āĻŋāĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻ•ā§‹āĻ¨ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ‡āĻ¨
"āĻ˛āĻŋāĻ¸ā§āĻŸ" āĻ¸ā§‡āĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ - āĻŽāĻžāĻ¨ā§‡
TIESCALAR(), TIEARRAY(), TIEHASH(), āĻŦāĻž āĻŸāĻžāĻ‡āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛(). (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻāĻŽāĻ¨ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ
āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ dbminit() C āĻāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨) "āĻ¨āĻ¤ā§āĻ¨" āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸ā§‡ āĻŸāĻžāĻ‡() āĻĢāĻžāĻ‚āĻļāĻ¨, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŦā§‡
"CLASSNAME"-āĻ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤ (āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž
āĻ¸āĻ āĻŋāĻ• "āĻŸāĻžāĻ‡āĻĒ" (āĻ¯ā§‡āĻŽāĻ¨, HASH āĻŦāĻž "CLASSNAME") āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻ¸ā§āĻ¤ā§āĨ¤) āĻ†āĻĒāĻ¨āĻŋ
āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻŦāĻžāĻāĻ§āĻž() āĻĢāĻžāĻ‚āĻļāĻ¨.

āĻ…āĻ¸āĻĻā§ƒāĻļ dbmopen(), āĻĻā§āĻ¯ āĻŸāĻžāĻ‡() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°" āĻŦāĻž "āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨" āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž - āĻ†āĻĒāĻ¨āĻŋ
āĻāĻŸāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡.

tying āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ°
āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤: TIESCALAR, FETCH,
āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°ā§āĻ¨, āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ UNTI āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻĒāĻžāĻ˛āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¤āĻžāĻ•āĻžāĻ¨, āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯āĻž āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻ¤ā§‡:

$his_speed, 'Nice', getppid();
āĻŸāĻžāĻ‡ $my_speed, 'Nice', $$;

āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻ¯āĻ–āĻ¨āĻ‡ āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻšāĻ¯āĻŧ
āĻ‰āĻĻā§āĻ§āĻžāĻ° āĻāĻŦāĻ‚ āĻĢāĻŋāĻ°ā§‡. āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ° āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤!

āĻ†āĻŽāĻ°āĻž Jarkko Hietaniemi āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ[āĻ‡āĻŽā§‡āĻ˛ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻŋāĻ¤]> āĻāĻ° BSD::āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ (āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ) āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ PRIO_PROCESS, PRIO_MIN, āĻāĻŦāĻ‚ PRIO_MAX āĻ§ā§āĻ°ā§āĻŦāĻ•, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡
āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻĒāĻžāĻ¨() āĻāĻŦāĻ‚ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻ¨ āĻ•āĻ°() āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻ¨āĻžāĨ¤

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻšāĻŽā§ŽāĻ•āĻžāĻ°;
āĻ•āĻžāĻ°ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
BSD::āĻ¸āĻŽā§āĻĒāĻĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻ•āĻ ā§‹āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
$Nice::DEBUG = 0 āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ $Nice::DEBUG;

TIESCALAR āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻļāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ°ā§‡āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ (āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŦā§‡āĻ¨āĻžāĻŽā§€) āĻ¯āĻž āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ¸āĻžāĻŦ āĻŸāĻžāĻ‡āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ˛āĻžāĻ° {
āĻ†āĻŽāĻžāĻ° $āĻ•ā§āĻ˛āĻžāĻ¸ = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻĒāĻŋāĻĄ = āĻļāĻŋāĻĢāĻŸ || $$; #0 āĻŽāĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ

āĻ¯āĻĻāĻŋ ($pid!~ /^\d+$/) {
carp "Nice::Tie::Scalar āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ…-āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¸ā§‚āĻšāĻ• pid $pid" āĻ¯āĻĻāĻŋ $^W;
undef āĻĢā§‡āĻ°āĻ¤;
}

āĻ¯āĻĻāĻŋ āĻ¨āĻž (0, $pid āĻšāĻ¤ā§āĻ¯āĻž) { # EPERM āĻŦāĻž ERSCH, āĻ•ā§‹āĻ¨ āĻ¸āĻ¨ā§āĻĻā§‡āĻš āĻ¨ā§‡āĻ‡
carp "āĻ¨āĻžāĻ‡āĻ¸::āĻŸāĻžāĻ‡::āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ˛āĻžāĻ° āĻ–āĻžāĻ°āĻžāĻĒ āĻĒāĻŋāĻĄ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡ $pid: $!" āĻ¯āĻĻāĻŋ $^W;
undef āĻĢā§‡āĻ°āĻ¤;
}

āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻĢā§‡āĻ°āĻ¤ \$pid, $class;
}

āĻāĻ‡ āĻŸāĻžāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ‰āĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°
āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ¯āĻĻāĻŋāĻ“ āĻāĻ‡āĻ­āĻžāĻŦā§‡ dbmopen() āĻ•āĻžāĻœ, āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ­āĻžāĻ˛ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻāĻ¤ āĻ•ā§āĻˇāĻŽāĻžāĻļā§€āĻ˛ āĻšāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻ—āĻ¤ āĻšāĻŦā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ $^W āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
āĻ¯āĻžāĻ‡āĻšā§‹āĻ• āĻāĻ•āĻŸā§ āĻ†āĻ“āĻ¯āĻŧāĻžāĻœāĨ¤

āĻāĻ‡ āĻ†āĻ¨ā§āĻ¨
āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻŦāĻžāĻāĻ§āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ (āĻĒāĻĄāĻŧā§āĻ¨)āĨ¤ āĻāĻŸāĻž
āĻāĻ° āĻ¸ā§āĻŦ-āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦāĻ•āĻžāĻ°ā§€ āĻŦāĻ¸ā§āĻ¤ā§
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻ†āĻŽāĻ°āĻž āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻ›āĻŋ. āĻ•āĻžāĻ°āĻŖ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ SCALAR āĻ°ā§‡āĻĢ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›āĻŋ
āĻŦāĻžāĻāĻ§āĻž āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŦāĻ¸ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ $$self āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ
āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¨ā§€āĻšā§‡āĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ¸ā§‡āĻ‡ āĻ†āĻ¸āĻ˛ āĻŽāĻžāĻ¨ āĻšāĻ˛ āĻ¸ā§‡āĻ‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻ°āĻž āĻŦā§‡āĻāĻ§ā§‡āĻ›āĻŋ
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛āĨ¤

āĻ¸āĻžāĻŦ FETCH {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
"āĻ­ā§āĻ˛ āĻŸāĻžāĻ‡āĻĒ" āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ°ā§‡āĻĢ $self;
croak "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ" āĻ¯āĻĻāĻŋ @_;
āĻ†āĻŽāĻžāĻ° $āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻ¤āĻž;
āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ($!) = 0;
$nicety = āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° (PRIO_PROCESS, $$self);
āĻ¯āĻĻāĻŋ ($!) { croak "getpriority āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: $!" }
āĻĢā§‡āĻ°āĻ¤ $nity;
}

āĻ°ā§‡āĻ¨āĻŋāĻ¸ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ˛ā§‡ āĻāĻ‡āĻŦāĻžāĻ° āĻ†āĻŽāĻ°āĻž āĻ‰āĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻŦāĻžāĻ° (āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ‰āĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ°) āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ -- āĻ†āĻ›ā§‡
āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻ¨ā§‡āĻ‡, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻ āĻŋāĻ• āĻœāĻŋāĻ¨āĻŋāĻ¸āĨ¤

āĻāĻ‡, āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨
āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻŦāĻžāĻāĻ§āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž (āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž) āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ¤āĻžāĻ° āĻĒāĻ°ā§‡āĻ“
āĻāĻ° āĻ¸ā§āĻŦ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ (āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ) āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ†āĻļāĻž āĻ•āĻ°ā§‡: āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡āĨ¤ STORE āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻĢā§‡āĻ°āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž; āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŋāĻ•
āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž FETCH āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻžāĻŦ āĻ¸ā§āĻŸā§‹āĻ° {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
"āĻ­ā§āĻ˛ āĻŸāĻžāĻ‡āĻĒ" āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ°ā§‡āĻĢ $self;
āĻ†āĻŽāĻžāĻ° $new_nicety = āĻļāĻŋāĻĢāĻŸ;
croak "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ" āĻ¯āĻĻāĻŋ @_;

āĻ¯āĻĻāĻŋ ($new_nicety < PRIO_MIN) {
āĻ•āĻžāĻ°ā§āĻĒ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸāĻĢ
"āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° %d āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° %d āĻĨā§‡āĻ•ā§‡ āĻ•āĻŽ",
$new_nicety, PRIO_MIN āĻ¯āĻĻāĻŋ $^W;
$new_nicety = PRIO_MIN;
}

āĻ¯āĻĻāĻŋ ($new_nicety > PRIO_MAX) {
āĻ•āĻžāĻ°ā§āĻĒ āĻ¸ā§āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸāĻĢ
"āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° %d āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° %d āĻŦā§‡āĻļāĻŋ",
$new_nicety, PRIO_MAX āĻ¯āĻĻāĻŋ $^W;
$new_nicety = PRIO_MAX;
}

āĻ¯āĻĻāĻŋ āĻ¨āĻž (āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¸ā§‡āĻŸ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°(PRIO_PROCESS, $$self, $new_nicety)) {
āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨ "āĻ¸ā§‡āĻŸ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: $!";
}
}

āĻāĻŸāĻŋ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ "āĻ†āĻ¨āĻŸāĻŋ" āĻ˜āĻŸā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻ˛ā§‡ āĻ•āĻžāĻœā§‡ āĻ˛āĻžāĻ—āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•āĻ–āĻ¨ āĻ†āĻ° āĻ•ā§‹āĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ (āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ›āĻžāĻĄāĻŧāĻžāĨ¤) āĻĻā§‡āĻ–ā§āĻ¨ "The
āĻ†āĻ°ā§‹ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§€āĻšā§‡ "āĻ†āĻ¨āĻŸāĻŋ" āĻ—ā§‹āĻŸāĻšāĻž"āĨ¤

āĻāĻ‡ āĻ§ā§āĻŦāĻ‚āĻ¸
āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ¸āĻ™ā§āĻ—ā§‡
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡, āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ–ā§āĻŦ āĻ•āĻŽāĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ, āĻ•āĻžāĻ°āĻŖ āĻĒāĻžāĻ°ā§āĻ˛ āĻāĻŸāĻŋāĻ•ā§‡ āĻĄāĻŋāĻ˛āĻ˛ā§‹āĻ•ā§‡āĻŸ āĻ•āĻ°ā§‡
āĻŽāĻ°āĻŋāĻŦāĻ¨ā§āĻĄ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡--āĻāĻŸāĻŋ C++ āĻ¨āĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ‰āĻĒ āĻ§ā§āĻŦāĻ‚āĻ¸ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
"āĻ­ā§āĻ˛ āĻŸāĻžāĻ‡āĻĒ" āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ°ā§‡āĻĢ $self;
carp "[ Nice::DESTROY pid $$self ]" āĻ¯āĻĻāĻŋ $Nice::DEBUG;
}

āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ†āĻ›ā§‡ āĻ¸āĻŦ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡. āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻāĻŸāĻŋ āĻ¯āĻž āĻ†āĻ›ā§‡ āĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ, āĻ•āĻžāĻ°āĻŖ
āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ¤āĻž, āĻĻā§ƒāĻĸāĻŧāĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻšāĻŽā§ŽāĻ•āĻžāĻ° āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°ā§‡āĻ›āĻŋ
āĻ¨āĻžāĻ¨ā§āĻĻāĻ¨āĻŋāĻ•āĻ¤āĻž āĻ¸āĻšāĻœ TIESCALAR āĻ•ā§āĻ˛āĻžāĻ¸ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻŽā§āĻ­āĻŦāĨ¤

tying āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ°
āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤: TIEARRAY,
FETCH, STORE, FETCHSIZE, STORESIZE, CLEAR āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ unNTIE āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤

FETCHSIZE āĻāĻŦāĻ‚ STORESIZE $#array āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ "scalar(@array)" āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĨ¤

POP, PUSH, SHIFT, UNSHIFT, SPLICE, DELETE, āĻāĻŦāĻ‚ EXISTS āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ (āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ›ā§‹āĻŸ āĻšāĻžāĻ¤ā§‡āĻ°) āĻ¨āĻžāĻŽā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°āĻ•ā§‡ āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻĻā§āĻ¯
āĻŸāĻžāĻ‡::āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻžāĻāĻšāĻŸāĻŋ āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻŋāĻ¤ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ‰āĻĒāĻ°ā§‡āĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĨ¤ DELETE āĻāĻŦāĻ‚ EXISTS-āĻāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
āĻŸāĻžāĻ‡::āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ "āĻ•ā§āĻ°ā§‹āĻ•"āĨ¤

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§ EXTEND āĻŦāĻ˛āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻĒāĻžāĻ°ā§āĻ˛ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻĒā§āĻ°āĻžāĻ•-āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻĨāĻžāĻ•āĻŦā§‡
āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĨ¤

āĻāĻ‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŦ āĻ¯āĻžāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ†āĻ•āĻžāĻ°āĨ¤
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦāĻĄāĻŧ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ¨ā§‡āĻŦā§‡āĻ¨āĨ¤ āĻœāĻ¨ā§āĻ¯
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

FixedElem_Array āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
tie @array, 'FixedElem_Array', 3;
$array[0] = 'āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛'; # āĻ āĻŋāĻ• āĻ†āĻ›ā§‡.
$array[1] = 'āĻ•ā§āĻ•ā§āĻ°'; # āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ, āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯('āĻ•ā§āĻ•ā§āĻ°') > 3āĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻ¨āĻž āĻ•ā§‹āĻĄ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ FixedElem_Array;
āĻ•āĻžāĻ°ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻ•āĻ ā§‹āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;

TIEARRAY āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻļāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ (āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¨āĻžāĻŽā§€ ARRAY āĻ°ā§‡āĻĢ) āĻšāĻŦā§‡
āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻļā§āĻ§ā§ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻž āĻ•āĻ°ā§‡āĻ¨ āĻ¨āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻāĻ•āĻŸāĻŋ ARRAY āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ HASH āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻŦāĨ¤ āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻļ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡
āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻ•āĻŸāĻŋ āĻœā§‡āĻ¨ā§‡āĻ°āĻŋāĻ• āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻ§āĻ°āĻ¨: "{ELEMSIZE}" āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŦā§‡
āĻ†āĻ•āĻžāĻ° āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤, āĻāĻŦāĻ‚ "{ARRAY}" āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ•āĻžāĻ°ā§‡āĻ° ARRAY āĻ°ā§‡āĻĢ āĻ§āĻ°ā§‡ āĻ°āĻžāĻ–āĻŦā§‡ā§ˇ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰
āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋāĻ•ā§‡ āĻĄāĻŋāĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ (āĻ¸āĻ¨ā§āĻĻā§‡āĻš āĻ¨ā§‡āĻ‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ
ARRAY āĻ°ā§‡āĻĢ), āĻ¤āĻžāĻ°āĻž āĻ‰āĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻŦā§‡āĨ¤ āĻāĻ‡ āĻļā§āĻ§ā§ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻžāĻ¤ā§‡ āĻ¯āĻžāĻ¯āĻŧ
āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĨ¤

āĻ¸āĻžāĻŦ āĻŸāĻžāĻ¯āĻŧāĻžāĻ°āĻ°ā§‡ {
āĻ†āĻŽāĻžāĻ° $āĻ•ā§āĻ˛āĻžāĻ¸ = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $elemsize = āĻļāĻŋāĻĢāĻŸ;
āĻ¯āĻĻāĻŋ ( @_ || $elemsize =~ /\D/ ) {
āĻ•ā§āĻ°āĻžāĻ• "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: āĻŸāĻžāĻ‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡, '"āĨ¤ __āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ__ "', elem_size";
}
āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻĢā§‡āĻ°āĻ¤ {
ELEMSIZE => $elemsize,
āĻ…ā§āĻ¯āĻžāĻ°ā§‡ => [],
}, $class;
}

āĻāĻ‡, āĻ¸ā§‚āĻšāĻ• āĻ†āĻ¨ā§āĻ¨
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻšāĻŦā§‡
āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž (āĻĒāĻĄāĻŧāĻž)āĨ¤ āĻāĻŸāĻŋ āĻ¤āĻžāĻ° āĻ¸ā§āĻŦ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¨ā§‡āĻ¯āĻŧ: āĻ¸ā§‚āĻšāĻ• āĻ¯āĻžāĻ°
āĻŽāĻžāĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻ¨āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋ.

āĻ¸āĻžāĻŦ FETCH {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $index = āĻļāĻŋāĻĢāĻŸ;
āĻĢā§‡āĻ°āĻ¤ $self->{ARRAY}->[$index];
}

āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĨā§‡āĻ•ā§‡ āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ¸ā§‚āĻšāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¸ā§‚āĻšāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻ•āĻ°āĻž āĻšāĻŦā§‡
FETCH-āĻ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ FETCHSIZE āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ•ā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĨ¤ āĻ†āĻĒāĻ¨āĻŋ
$NEGATIVE_INDICES āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻšāĻ¯āĻŧāĻ¤ā§‹ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, FETCH āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻžāĻŽ (et al.) āĻ¸āĻŦāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡
āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§‡, āĻ¯āĻĻāĻŋāĻ“ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (TIESCALAR āĻŦāĻ¨āĻžāĻŽ TIEARRAY)āĨ¤ āĻ¯āĻ–āĻ¨
āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸āĻŋāĻ‚ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻ§āĻ°āĻ¨ā§‡āĻ°, āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻāĻŸāĻŋ
āĻ•āĻˇā§āĻŸāĻ•āĻ° āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡, āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡ āĻŸāĻžāĻ‡āĻĒ āĻ āĻ°āĻžāĻ–āĻž āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœāĨ¤

āĻāĻ‡, āĻ¸ā§‚āĻšāĻ•, āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨
āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡
(āĻ˛āĻŋāĻ–āĻŋāĻ¤)āĨ¤ āĻāĻŸāĻŋāĻ° āĻ¸ā§āĻŦ-āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻĻā§āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ˛āĻžāĻ—ā§‡: āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ¸ā§‚āĻšāĻ•ā§‡ āĻ†āĻ›āĻŋ
āĻ•āĻŋāĻ›ā§ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ°āĻžāĻ–āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋāĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, "undef" āĻšāĻ˛ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ "$self->{ELEMSIZE}" āĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻ›ā§‡
āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻ°āĻ“ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

āĻ¸āĻžāĻŦ āĻ¸ā§āĻŸā§‹āĻ° {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
my($index, $value) = @_;
āĻ¯āĻĻāĻŋ (āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ $value > $self->{ELEMSIZE} ) {
croak "$value-āĻāĻ° āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ $self->{ELEMSIZE}" āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻļāĻŋ;
}
# āĻļā§āĻ¨ā§āĻ¯āĻ¸ā§āĻ¤āĻžāĻ¨ āĻĒā§‚āĻ°āĻŖ
$self->EXTEND( $index ) āĻ¯āĻĻāĻŋ $index > $self->FETCHSIZE();
# āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻ›ā§‹āĻŸ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§āĻ¯āĻžāĻ¯ā§āĻ¯āĻ¤āĻž
$self->{ARRAY}->[$index] = sprintf "%$self->{ELEMSIZE}s", $value;
}

āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻ¸ā§‚āĻšāĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ FETCH āĻāĻ° āĻŽāĻ¤ā§‹āĻ‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§ˇ

āĻāĻŸāĻŋ āĻ†āĻ¨ā§āĻ¨
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻ†āĻ‡āĻŸā§‡āĻŽā§‡āĻ° āĻŽā§‹āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻ‡.
("āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ˛āĻžāĻ°(@āĻ…ā§āĻ¯āĻžāĻ°ā§‡)" āĻāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯)āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ¸āĻžāĻŦ āĻĢā§‡āĻšāĻ¸āĻžāĻ‡āĻœ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° @{$self->{ARRAY}};
}

āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨, āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻ†āĻ‡āĻŸā§‡āĻŽā§‡āĻ° āĻŽā§‹āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻāĻ‡ āĻšāĻ¤ā§‡
āĻ—āĻŖāĻ¨āĻž. āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻŸāĻŋāĻ•ā§‡ āĻŦāĻĄāĻŧ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡ āĻ¤āĻŦā§‡ "undef" āĻāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤
āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻĻā§‡ āĻĢāĻŋāĻ°ā§‡ āĻāĻ¸ā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ›ā§‹āĻŸ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ—āĻŖāĻ¨āĻžāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ
āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, 'undef' āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ "$self->{ELEMSIZE}" āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
āĻ¸ā§āĻĒā§‡āĻ¸ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§āĻ¨:

āĻ¸āĻžāĻŦ āĻ¸ā§āĻŸā§‹āĻ°āĻžāĻ‡āĻœ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $count = āĻļāĻŋāĻĢāĻŸ;
āĻ¯āĻĻāĻŋ ( $count > $self->FETCHSIZE() ) {
foreach ( $count - $self->FETCHSIZE() .. $count ) {
$self->STORE( $_, '');
}
} elsif ( $count < $self->FETCHSIZE() ) {
foreach ( 0 .. $self->FETCHSIZE() - $count - 2 ) {
$self->POP();
}
}
}

āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨, āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨
āĻ¤āĻĨā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ˛ āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ†āĻ›ā§‡ āĻŦāĻžāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ—āĻŖāĻ¨āĻž āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻĢāĻžāĻāĻ•āĻž ("undef") āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ¨ā§‡āĻ‡, āĻ¤āĻžāĻ‡ "EXTEND"
āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ "STORESIZE" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡:

āĻ¸āĻžāĻŦ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻĄ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $count = āĻļāĻŋāĻĢāĻŸ;
$self->STORESIZE( $count);
}

āĻāĻ‡, āĻ•ā§€ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨
āĻ¸ā§‚āĻšā§€āĻ¤ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°ā§āĻ¨ āĻšāĻžāĻŦāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻ‡.

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻŦ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯āĻĻāĻŋ "$self->{ELEMSIZE}" āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻĒā§‡āĻ¸, āĻāĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§‡āĻ‡:

āĻ‰āĻĒ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $index = āĻļāĻŋāĻĢāĻŸ;
āĻ¯āĻĻāĻŋ 0 āĻĢā§‡āĻ°āĻ¤ āĻĻāĻžāĻ“! āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ $self->{ARRAY}->[$index] ||
$self->{ARRAY}->[$index] eq ' ' x $self->{ELEMSIZE};
āĻĢāĻŋāĻ°ā§‡ 1;
}

āĻāĻŸāĻŋ āĻŽā§āĻ›ā§āĻ¨, āĻ•ā§€
āĻ¸ā§‚āĻšā§€āĻ¤ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻŽā§āĻ›ā§āĻ¨ āĻšāĻžāĻŦāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĨā§‡āĻ•ā§‡ āĻāĻ‡.

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ†āĻ‡āĻŸā§‡āĻŽ āĻšāĻ˛ "$self->{ELEMSIZE}" āĻ¸ā§āĻĒā§‡āĻ¸:

āĻ¸āĻžāĻŦ DELETE {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $index = āĻļāĻŋāĻĢāĻŸ;
āĻĢā§‡āĻ°āĻ¤ $self->STORE( $index, '');
}

āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻŦāĻžāĻāĻ§āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ¨ āĻ¸āĻžāĻĢ āĻ•āĻ°ā§āĻ¨ (āĻ¸āĻ°āĻžāĻ¨, āĻŽā§āĻ›ā§āĻ¨, ...)
āĻāĻ‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ¸āĻžāĻŦ āĻ•ā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ° {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻĢā§‡āĻ°āĻ¤ $self->{ARRAY} = [];
}

āĻāĻ‡ āĻ§āĻžāĻ•ā§āĻ•āĻž, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ¸āĻžāĻŦ āĻ§āĻžāĻ•ā§āĻ•āĻž {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° @āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž = @_;
āĻ†āĻŽāĻžāĻ° $last = $self->FETCHSIZE();
$self->STORE( $last + $_, $list[$_] ) foreach 0 .. $#list;
āĻĢā§‡āĻ°āĻ¤ $self->FETCHSIZE();
}

āĻāĻ‡ POP
āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻļā§‡āĻˇ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ¸āĻžāĻŦ POP {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻĒāĻĒ @{$self->{ARRAY}};
}

āĻāĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨
āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¨ (āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¨āĻŋāĻšā§‡ āĻ¨āĻžāĻŽāĻŋāĻ¯āĻŧā§‡) āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¨āĨ¤
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ¸āĻžāĻŦ āĻļāĻŋāĻĢāĻŸ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻļāĻŋāĻĢāĻŸ @{$self->{ARRAY}};
}

āĻāĻ‡, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ†āĻ¨āĻļāĻŋāĻĢāĻŸ
āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡ LIST āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°ā§āĻ¨, āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻ°āĻžāĻ¨ā§ˇ
āĻ•āĻžāĻŽāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻ¸āĻžāĻŦ āĻ†āĻ¨āĻļāĻŋāĻĢāĻŸ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° @āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž = @_;
āĻ†āĻŽāĻžāĻ° $size = āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° (@list);
# āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
@{$self->{ARRAY}}[ $size .. $#{$self->{ARRAY}} + $size ]
= @{$self->{ARRAY}};
$self->STORE( $_, $list[$_] ) foreach 0 .. $#list;
}

āĻāĻ‡, āĻ…āĻĢāĻ¸ā§‡āĻŸ, āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¸ā§āĻĒā§āĻ˛āĻžāĻ‡āĻ¸ āĻ•āĻ°ā§āĻ¨
āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ "āĻ¸ā§āĻĒā§āĻ˛āĻŋāĻ¸" āĻāĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ…āĻĢāĻ¸ā§‡āĻŸ āĻāĻšā§āĻ›āĻŋāĻ• āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻļā§‚āĻ¨ā§āĻ¯, āĻ‹āĻŖāĻžāĻ¤ā§āĻŽāĻ• āĻŽāĻžāĻ¨ āĻļā§‡āĻˇ āĻĨā§‡āĻ•ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĨ¤

āĻ˛āĻŽā§āĻŦāĻž āĻāĻšā§āĻ›āĻŋāĻ• āĻāĻŦāĻ‚ āĻŦāĻžāĻ•āĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĨ¤

āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ–āĻžāĻ˛āĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻ¸āĻ˛āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ˛āĻŽā§āĻŦāĻž āĻ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ…āĻĢāĻ¸ā§‡āĻŸ.

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻļāĻ°ā§āĻŸāĻ•āĻžāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž:

āĻ¸āĻžāĻŦ āĻ¸ā§āĻĒā§āĻ˛āĻŋāĻ¸ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻ…āĻĢāĻ¸ā§‡āĻŸ = āĻļāĻŋāĻĢāĻŸ || 0;
āĻ†āĻŽāĻžāĻ° $āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ = āĻļāĻŋāĻĢāĻŸ || $self->FETCHSIZE() - $offset;
āĻ†āĻŽāĻžāĻ° @āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž = ();
āĻ¯āĻĻāĻŋ ( @_ ) {
āĻŸāĻžāĻ‡ @list, __PACKAGE__, $self->{ELEMSIZE};
@āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž = @_;
}
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ¸ā§āĻĒā§āĻ˛āĻžāĻ‡āĻ¸ @{$self->{ARRAY}}, $offset, $length, @list;
}

āĻāĻŸāĻŋ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
"āĻ†āĻ¨āĻŸāĻŋ" āĻ˜āĻŸāĻ˛ā§‡ āĻĄāĻžāĻ•āĻž āĻšāĻŦā§‡āĨ¤ (āĻ¨ā§€āĻšā§‡ "āĻĻā§āĻ¯ "āĻ†āĻ¨āĻŸāĻŋ" āĻ—ā§‹āĻŸāĻšāĻž" āĻĻā§‡āĻ–ā§āĻ¨āĨ¤)

āĻāĻ‡ āĻ§ā§āĻŦāĻ‚āĻ¸
āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ¸āĻ™ā§āĻ—ā§‡
āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻŸāĻžāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸, āĻāĻŸāĻŋāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ­āĻžāĻˇāĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ•āĻ–āĻ¨āĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž
āĻ†āĻŦāĻ°ā§āĻœāĻ¨āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš, āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻā§‡āĻŦāĨ¤

tying āĻšā§āĻ¯āĻžāĻļ
āĻšā§āĻ¯āĻžāĻļ āĻ›āĻŋāĻ˛ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻžāĻ°ā§āĻ˛ āĻĄā§‡āĻŸāĻž āĻŸāĻžāĻ‡āĻĒ āĻ¯āĻž āĻŦāĻžāĻāĻ§āĻž āĻ›āĻŋāĻ˛ (āĻĻā§‡āĻ–ā§āĻ¨ dbmopen()) āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•āĻžāĻ°ā§€ a
tied āĻšā§āĻ¯āĻžāĻļ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤: TIEHASH āĻšāĻ˛ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĨ¤ FETCH āĻāĻŦāĻ‚
STORE āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•ā§€ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨ āĻœā§‹āĻĄāĻŧāĻžāĨ¤ EXISTS āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻžā§ˇ
āĻšā§āĻ¯āĻžāĻļ, āĻāĻŦāĻ‚ DELETE āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ CLEAR āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§€ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨ āĻŽā§āĻ›ā§‡ āĻšā§āĻ¯āĻžāĻļ āĻ–āĻžāĻ˛āĻŋ āĻ•āĻ°ā§‡
āĻœā§‹āĻĄāĻŧāĻž FIRSTKEY āĻāĻŦāĻ‚ NEXTKEY āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻ•ā§€() āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ() āĻ¸āĻŦ āĻ‰āĻĒāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨
āĻšāĻžāĻŦāĻŋāĻ¸āĻŽā§‚āĻš. āĻ¸ā§āĻ•āĻ˛āĻžāĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸā§‡ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ SCALAR āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻšāĻ¯āĻŧāĨ¤ UNTIE āĻšāĻ˛
āĻ¯āĻ–āĻ¨ "āĻ†āĻ¨āĻŸāĻŋ" āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋ āĻ—āĻžāĻ°āĻŦā§‡āĻœ āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ āĻ¤āĻžāĻ•ā§‡ āĻĄā§‡āĻ¸āĻŸā§āĻ°āĻ¯āĻŧ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤

āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ•ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻŦāĻŋāĻ§āĻžāĻ¯āĻŧ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŸāĻžāĻ‡::StdHash āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€ āĻšāĻ¨
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻŸāĻžāĻ‡::āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻšā§āĻ¯āĻžāĻļ āĻĻā§‡āĻ–ā§āĻ¨
āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻ˛ āĻšā§āĻ¯āĻžāĻļā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§‡āĻ‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻāĻŦāĻ‚ āĻ•ā§€-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻ°ā§‡
āĻšā§āĻ¯āĻžāĻļā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ "undef" āĻāĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĻā§āĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž
"exists()" āĻāĻŦāĻ‚ "defined()" āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻļ āĻĻā§‡āĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ. āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻšā§āĻ¯āĻžāĻļā§‡ āĻ¸ā§‚āĻšāĻ• āĻ•āĻ°ā§āĻ¨
āĻĢāĻžāĻ‡āĻ˛ (āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻŦāĻŋāĻ¯āĻŧā§‹āĻ—) āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ‡ āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĢāĻŋāĻ°ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

āĻĄāĻŸāĻĢāĻžāĻ‡āĻ˛āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻŸāĻžāĻ‡ %dot, 'DotFiles';
āĻ¯āĻĻāĻŋ ( $dot{profile} =~ /MANPATH/ ||
$dot{login} =~ /MANPATH/ ||
$dot{cshrc} =~ /MANPATH/ )
{
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨ "āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° MANPATH āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡\n";
}

āĻ…āĻĨāĻŦāĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻžāĻāĻ§āĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ¨āĻŽā§āĻ¨āĻž āĻ†āĻ›ā§‡:

% him, 'DotFiles', 'deemon' āĻŸāĻžāĻ‡;
foreach $f ( āĻ•ā§€ % āĻ¤āĻžāĻ•ā§‡ ) {
printf "āĻĄā§‡āĻŽāĻ¨ āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛ %s āĻ†āĻ•āĻžāĻ° %d\n",
$f, āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ $hi{$f};
}

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļ āĻĄāĻŸāĻĢāĻžāĻ‡āĻ˛āĻ¸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻšā§āĻ¯āĻžāĻļ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ
āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° "{LIST}" āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻŸāĻŋāĻ‡ āĻšāĻŦā§‡ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻšā§āĻ¯āĻžāĻļ

USER āĻ¯āĻžāĻ° āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡

āĻšā§‹āĻŽ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸ā§‡āĻ‡ āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĨāĻžāĻ•ā§‡ā§ˇ

āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ°
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§‡āĻ‡ āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŦāĻž āĻ¸āĻ°āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ•āĻŋāĻ¨āĻž

āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻšā§āĻ¯āĻžāĻļ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨

āĻāĻ–āĻžāĻ¨ā§‡ āĻļā§āĻ°ā§ Dotfiles.pm:

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĄāĻŸāĻĢāĻžāĻ‡āĻ˛āĻ¸;
āĻ•āĻžāĻ°ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻ¸āĻžāĻŦ āĻšā§‹āĻ“āĻ¯āĻŧāĻžāĻ¸āĻŋ {(āĻ†āĻšā§āĻŦāĻžāĻ¨āĻ•āĻžāĻ°ā§€(1))[3]āĨ¤ '()'}
āĻ†āĻŽāĻžāĻ° $DEBUG = 0;
āĻ¸āĻžāĻŦ āĻĄāĻŋāĻŦāĻžāĻ— { $DEBUG = @_? āĻļāĻŋāĻĢāĻŸ : 1}

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻŸā§āĻ°ā§‡āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ—āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¤ā§‡ āĻšāĻžāĻ‡
āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ†āĻ‰āĻŸā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨āĻ“ āĻ°āĻžāĻ–āĻŋ
āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻšā§āĻ“āĻ¯āĻŧāĻžāĻ¸āĻŋ() āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻĄāĻŸāĻĢāĻžāĻ‡āĻ˛āĻ¸ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

TIEHASH āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻļāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§ (āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ—āĻ¤ā§āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻ¨āĻžāĻŽā§€ āĻ¨āĻ¯āĻŧ
āĻšā§āĻ¯āĻžāĻļ) āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°:

āĻ¸āĻžāĻŦ āĻŸāĻŋāĻšāĻžāĻļ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $user = āĻļāĻŋāĻĢāĻŸ || $>;
āĻ†āĻŽāĻžāĻ° $dotdir = āĻļāĻŋāĻĢāĻŸ || '';
croak "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°: @{[&whowasi]} [USER [DOTDIR]]" āĻ¯āĻĻāĻŋ @_;
$user = getpwuid($user) āĻ¯āĻĻāĻŋ $user =~ /^\d+$/;
āĻ†āĻŽāĻžāĻ° $dir = (getpwnam($user))[7]
|| āĻ•ā§āĻ°ā§‹āĻ• "@{[&whowasi]}: āĻ•ā§‹āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¨ā§‡āĻ‡ $user";
$dir .="/$dotdir" āĻ¯āĻĻāĻŋ $dotdir;

āĻ†āĻŽāĻžāĻ° $āĻ¨ā§‹āĻĄ = {
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ => $āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€,
āĻŦāĻžāĻĄāĻŧāĻŋ => $dir,
āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž => {},
āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ° => 0,
};

opendir(DIR, $dir)
|| āĻ•ā§āĻ°āĻžāĻ• "@{[&whowasi]}: $dir: $!" āĻ–ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž;
foreach $dot ( grep /^\./ && -f "$dir/$_", readdir(DIR)) {
$dot =~ s/^\.//;
$node->{LIST}{$dot} = undef;
}
āĻŦāĻ¨ā§āĻ§ āĻĄāĻŋāĻ†āĻ‡āĻ†āĻ°;
āĻĢāĻŋāĻ°ā§‡ āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ $node, $self;
}

āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ā§‹ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ readdir āĻāĻ°, āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡ āĻĨāĻžāĻ•āĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻŋāĻĒā§‡āĻ¨ā§āĻĄ āĻ•āĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž
āĻ•āĻ°ā§‡āĻ¨āĻŋ chdir() āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡, āĻāĻŸāĻž āĻ­ā§āĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡.

āĻāĻ‡, āĻ•ā§€ āĻ†āĻ¨ā§āĻ¨
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ¤āĻŦāĻžāĻ° āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻŦā§‡
(āĻĒāĻĄāĻŧā§āĻ¨)āĨ¤ āĻāĻŸāĻŋ āĻ¤āĻžāĻ° āĻ¸ā§āĻŦ-āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¨ā§‡āĻ¯āĻŧ: āĻ•ā§€ āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ āĻ†āĻŽāĻ°āĻž
āĻ†āĻ¨āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋāĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻŸāĻĢāĻžāĻ‡āĻ˛āĻ¸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻ¨āĻž āĻšāĻ˛āĨ¤

āĻ¸āĻžāĻŦ FETCH {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻĄāĻŸ = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $dir = $self->{HOME};
my $file = "$dir/.$dot";

āĻ¯āĻĻāĻŋ āĻ¨āĻž ($self->{LIST}->{$dot} || -f $file āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡) {
carp "@{[&whowasi]}: $Dot āĻĢāĻžāĻ‡āĻ˛ āĻ¨ā§‡āĻ‡" āĻ¯āĻĻāĻŋ $DEBUG;
undef āĻĢā§‡āĻ°āĻ¤;
}

āĻ¯āĻĻāĻŋ (āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ $self->{LIST}->{$dot}) {
āĻĢā§‡āĻ°āĻ¤ $self->{LIST}->{$dot};
} āĻ…āĻ¨ā§āĻ¯ {
āĻĢā§‡āĻ°āĻ¤ $self->{LIST}->{$dot} = `cat $dir/.$dot`;
}
}

āĻāĻŸāĻŋāĻ•ā§‡ āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§āĻ¸ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ˛ā§‡āĻ–āĻž āĻ¸āĻšāĻœ āĻ›āĻŋāĻ˛ āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛(1) āĻ•āĻŽāĻžāĻ¨ā§āĻĄ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻšāĻŦā§‡
āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ–ā§āĻ˛āĻ¤ā§‡ āĻ†āĻ°āĻ“ āĻĒā§‹āĻ°ā§āĻŸā§‡āĻŦāĻ˛ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ (āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻŦā§‡āĻļāĻŋ āĻĻāĻ•ā§āĻˇ)āĨ¤ āĻ…āĻŦāĻļā§āĻ¯āĻ‡,
āĻ•āĻžāĻ°āĻŖ āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻ¨āĻŋāĻ•ā§āĻ¸āĻŋ āĻ§āĻžāĻ°āĻŖāĻž, āĻ†āĻŽāĻ°āĻž āĻāĻ¤ā§‡ āĻ‰āĻĻā§āĻŦāĻŋāĻ—ā§āĻ¨ āĻ¨āĻ‡āĨ¤

āĻāĻ‡, āĻ•ā§€, āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻŦā§‡ (āĻ˛āĻŋāĻ–āĻŋāĻ¤)āĨ¤
āĻāĻŸāĻŋāĻ° āĻ¸ā§āĻŦ-āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻĻā§āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ˛āĻžāĻ—ā§‡: āĻ¯ā§‡ āĻ¸ā§‚āĻšāĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋ
āĻ•āĻŋāĻ›ā§ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§āĻ¨, āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋ.

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻŸāĻĢāĻžāĻ‡āĻ˛āĻ¸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ• āĻĨāĻžāĻ•āĻŦ āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ¨āĻž āĻ•āĻ°ā§‡
āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ¤āĻžāĻ°āĻž āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ°() āĻŽā§‚āĻ˛ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ°ā§‡ āĻŸāĻžāĻ‡().

āĻ¸āĻžāĻŦ āĻ¸ā§āĻŸā§‹āĻ° {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻĄāĻŸ = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻŽāĻžāĻ¨ = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $file = $self->{HOME}āĨ¤ "/.$āĻĄāĻŸ";
āĻ†āĻŽāĻžāĻ° $user = $self->{USER};

āĻ•ā§āĻ°āĻžāĻ• "@{[&whowasi]}: $file āĻ¨āĻŸ āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ°ā§‡āĻŦāĻ˛"
āĻ¯āĻĻāĻŋ āĻ¨āĻž $self->{CLOBBER};

open(my $f, '>', $file) || croak "$file āĻ–ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž: $!";
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ $f $value;
āĻŦāĻ¨ā§āĻ§ ($f);
}

āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻž āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

$ob = āĻŸāĻžāĻ‡ %āĻĄā§‡āĻŽāĻ¨_āĻĄāĻŸāĻ¸, 'āĻĄā§‡āĻŽāĻ¨';
$ob->āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ°(ā§¨ā§Ļā§§ā§§);
$daemon_dots{signature} = "āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻĄā§‡āĻŽāĻ¨\n";

āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡ āĻšāĻžāĻ¤ āĻ°āĻžāĻ–āĻžāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻŦāĻžāĻāĻ§āĻž()
āĻĢāĻžāĻ‚āĻļāĻ¨, āĻ¤āĻžāĻ‡ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

āĻŸāĻžāĻ‡ %āĻĄā§‡āĻŽāĻ¨_āĻĄāĻŸāĻ¸, 'āĻĄā§‡āĻŽāĻ¨';
āĻŦāĻžāĻāĻ§āĻž (%āĻĄā§‡āĻŽāĻ¨_āĻĄāĻŸ)->āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ°(ā§¨ā§Ļā§§ā§§);

āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡:

āĻ¸āĻžāĻŦ āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ° {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
$self->{CLOBBER} = @_? āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°: 1;
}

āĻāĻŸāĻŋ āĻŽā§āĻ›ā§āĻ¨, āĻ•ā§€
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻšā§āĻ¯āĻžāĻļ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻŋ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡
āĻĻā§āĻ¯ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž() āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻŦāĻžāĻ°, āĻ¤āĻžāĻ°āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻšāĻžāĻ¯āĻŧ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ• āĻĨāĻžāĻ•āĻŦ
āĻ•ā§āĻ˛ā§‹āĻŦāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĨ¤

āĻ¸āĻžāĻŦ DELETE {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;

āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻĄāĻŸ = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $file = $self->{HOME}āĨ¤ "/.$āĻĄāĻŸ";
āĻ•ā§āĻ°ā§‹āĻ• "@{[&whowasi]}: āĻĢāĻžāĻ‡āĻ˛ $file āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻŦā§‡ āĻ¨āĻž"
āĻ¯āĻĻāĻŋ āĻ¨āĻž $self->{CLOBBER};
$self->{LIST}->{$dot} āĻŽā§āĻ›ā§āĻ¨;
āĻ†āĻŽāĻžāĻ° $success = unlink($file);
carp "@{[&whowasi]}: $file: $" āĻ†āĻ¨āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž! $success āĻ¨āĻž āĻšāĻ˛ā§‡;
$āĻ¸āĻĢāĻ˛āĻ¤āĻž;
}

DELETE āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻ•āĻ˛ā§‡āĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧā§ˇ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž()āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ
āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ†āĻšāĻ°āĻŖ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž(), āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻžāĻ‡ āĻšā§‹āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨ FETCH āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤
āĻāĻ‡ āĻšāĻžāĻŦāĻŋ āĻœāĻ¨ā§āĻ¯ āĻĢāĻŋāĻ°ā§‡ āĻšāĻŦā§‡. āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ
āĻŽāĻžāĻ¨ āĻ¯āĻž āĻ•āĻ˛āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻžāĨ¤

āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°ā§‹ āĻšā§āĻ¯āĻžāĻļāĻŸāĻŋ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡
āĻāĻŸāĻž āĻ–āĻžāĻ˛āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž.

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŦā§‡! āĻāĻŸāĻž āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĒāĻœā§āĻœāĻ¨āĻ•
āĻāĻŸāĻŋ āĻ˜āĻŸāĻ¤ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° 1 āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ•āĻŋāĻ›ā§āĻ¤ā§‡ CLOBBER āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ¸āĻžāĻŦ āĻ•ā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ° {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ•ā§āĻ°ā§‹āĻ• "@{[&whowasi]}: $self->{USER}" āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŦā§‡ āĻ¨āĻž
āĻ¯āĻĻāĻŋ āĻ¨āĻž $self->{CLOBBER} > 1;
āĻ†āĻŽāĻžāĻ° $āĻĄāĻŸ;
foreach $dot ( āĻ•ā§€ %{$self->{LIST}}) {
$self->DELETE($dot);
}
}

āĻāĻ‡, āĻ•ā§€ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻ–āĻ¨ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻšāĻ¯āĻŧ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨() āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĒāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨
āĻšā§āĻ¯āĻžāĻļ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ "{LIST}" āĻšā§āĻ¯āĻžāĻļ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻĻā§‡āĻ–āĻŦ:

āĻ‰āĻĒ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻĄāĻŸ = āĻļāĻŋāĻĢāĻŸ;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ $self->{LIST}->{$dot};
}

āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ‡
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšā§āĻ¯āĻžāĻļā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ¯ā§‡āĻŽāĻ¨
āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•ā§€(), āĻŽāĻžāĻ¨ (), āĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ() āĻ•āĻ˛

āĻ¸āĻžāĻŦ āĻĢāĻžāĻ°ā§āĻ¸ā§āĻŸāĻ•āĻŋ {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $a = āĻ•ā§€ %{$self->{LIST}}; # āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ() āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ•āĻžāĻ°ā§€ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ %{$self->{LIST}}
}

FIRSTKEY āĻ•ā§‡ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻĒā§āĻ°āĻĨāĻŽ āĻ•ā§€āĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤
āĻŽāĻžāĻ¨ (), āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ() āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡, āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ FETCH āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻāĻ‡, āĻļā§‡āĻˇ āĻ•ā§€
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻĒāĻžāĻ¯āĻŧ āĻ•ā§€(), āĻŽāĻžāĻ¨ (), āĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ() āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻāĻŸāĻžāĻ° āĻ†āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ
āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¯āĻž āĻļā§‡āĻˇ āĻ•ā§€ āĻ¯ā§‡āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ‡ āĻ¯āĻĻāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻŸāĻžāĻ°ā§‡āĻŸāĻ°āĻ•ā§‡ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻŦāĻž āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ¯āĻ¤ā§āĻ¨āĻļā§€āĻ˛, āĻŦāĻž
āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻ•ā§‹āĻĨāĻžāĻ“ āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻļ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ¨āĻž.

NEXTKEY āĻ•ā§‡ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•ā§€āĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻŦā§‡āĨ¤
āĻŽāĻžāĻ¨ (), āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ() āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡, āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ FETCH āĻ•āĻ˛ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻšā§āĻ¯āĻžāĻļ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›āĻŋ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻ¸āĻšāĻœ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ•āĻ°āĻŦ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ•āĻ°āĻŦ
āĻĒāĻ°ā§‹āĻ•ā§āĻˇāĻ­āĻžāĻŦā§‡ LIST āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ¸āĻžāĻŦ āĻ¨ā§‡āĻ•ā§āĻ¸āĻŸāĻ•āĻŋ {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ %{ $self->{LIST} } āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¨
}

āĻāĻ‡ āĻ¸ā§āĻ•āĻ˛āĻžāĻ°
āĻāĻŸāĻŋāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻšā§āĻ¯āĻžāĻļāĻ•ā§‡ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯
untied āĻšā§āĻ¯āĻžāĻļ āĻ†āĻšāĻ°āĻŖ, āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŽāĻžāĻ¨ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļ
āĻ–āĻžāĻ˛āĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻĒāĻžāĻ°ā§āĻ˛ āĻ•āĻŋāĻ›ā§ āĻļāĻŋāĻ•ā§āĻˇāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻŦā§‡
āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ¤ā§āĻ¯ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸ā§‡ āĻ¯āĻ–āĻ¨ āĻšā§āĻ¯āĻžāĻļ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ,
FIRSTKEY āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ FIRSTKEY āĻ–āĻžāĻ˛āĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ˛ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŽāĻžāĻ¨ āĻšāĻŦā§‡
āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻ¤ā§āĻ¯āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻž āĻ…āĻ¨ā§āĻ§āĻ­āĻžāĻŦā§‡ āĻĒāĻžāĻ°ā§āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻ āĻŋāĻ• āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§āĻ¨āĨ¤
āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻšā§āĻ¯āĻžāĻļ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻžāĻ°ā§āĻ˛ āĻ­ā§āĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻ¤ā§āĻ¯ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŦā§‡
āĻāĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ DELETE āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ SCALAR āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻšā§āĻ›ā§‡
āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻšā§āĻ¯āĻžāĻļ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ°ā§‡ āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻ­āĻžāĻŦā§‡ āĻ†āĻšāĻ°āĻŖ āĻ•āĻ°ā§‡
āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ "āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ°" āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻŋāĻ¤ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻšā§āĻ¯āĻžāĻļā§‡āĻ° āĻ‰āĻĒāĻ°
"$self->{LIST}":

āĻ¸āĻžāĻŦ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° %{ $self->{LIST} }
}

āĻāĻŸāĻŋ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
āĻāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ "āĻ†āĻ¨āĻŸāĻŋ" āĻ˜āĻŸā§‡āĨ¤ āĻ¨ā§€āĻšā§‡ "The "untie" Gotcha āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻāĻ‡ āĻ§ā§āĻŦāĻ‚āĻ¸
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻļ āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻž
āĻ†āĻĒāĻ¨āĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻŦāĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻāĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
āĻ†āĻĒ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸āĻšāĻœ āĻĢāĻžāĻ‚āĻļāĻ¨:

āĻ‰āĻĒ āĻ§ā§āĻŦāĻ‚āĻ¸ {
carp &whowasi āĻ¯āĻĻāĻŋ $DEBUG;
}

āĻ¯ā§‡āĻŽāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ•ā§€() āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨ () āĻŦāĻĄāĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻļāĻžāĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ, āĻ¯ā§‡āĻŽāĻ¨ DBM āĻĢāĻžāĻ‡āĻ˛āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ() āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻĒāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨.
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

# āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ†āĻ‰āĻŸ āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸ āĻĢāĻžāĻ‡āĻ˛ āĻ…āĻĢāĻ¸ā§‡āĻŸ
NDBM_File āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻŸāĻžāĻ‡ (%HIST, 'NDBM_File', '/usr/lib/news/history', 1, 0);
āĻ¯āĻ–āĻ¨ (($key,$val) = āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ %HIST) {
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ $key, ' = ', āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ•('L',$val), "\n";
}
untie(%HIST);

tying āĻĢāĻžāĻ‡āĻ˛ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻ—ā§āĻ˛āĻŋ
āĻāĻŸāĻŋ āĻāĻ–āĻ¨ āĻ†āĻ‚āĻļāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻĢāĻžāĻ‡āĻ˛āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡: TIEHANDLE, at
PRINT, PRINTF, WRITE, READLINE, GETC, READ, āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŦāĻ¨ā§āĻ§, UNTIE āĻāĻŦāĻ‚
āĻ§ā§āĻŦāĻ‚āĻ¸. āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡: BINMODE, OPEN, EOF, FILENO, SEEK, TELL - āĻ¯āĻĻāĻŋ
āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĒāĻžāĻ°ā§āĻ˛ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¯āĻ–āĻ¨ STDERR āĻŦāĻžāĻāĻ§āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻ–āĻ¨ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻœāĻžāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ° āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤
āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻ¸āĻžāĻŽāĻ¯āĻŧāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ "warn()" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤ āĻ˛ā§āĻĒ āĻļā§āĻ°ā§ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ āĻŋāĻ• āĻ¯ā§‡āĻŽāĻ¨ "__WARN__" āĻāĻŦāĻ‚ "__DIE__"
āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°, STDERR-āĻāĻ° āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž
āĻĒāĻžāĻ°ā§āĻ˛āĻ­āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡ "%SIG" āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ‡ āĻ¸āĻŦ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻ¯āĻ–āĻ¨ āĻĒāĻžāĻ°ā§āĻ˛ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻāĻŽāĻŦā§‡āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ
STDOUT āĻāĻŦāĻ‚ STDERR-āĻ āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻļā§‡āĻˇ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻĒā§āĻ¨āĻƒāĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ nvi āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨
āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻĒāĻžāĻšāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĨ¤

āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻŦāĻžāĻāĻ§āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, "āĻŸāĻžāĻ‡" āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ°āĻ•āĻžāĻšāĻŋāĻšā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ¤āĻžāĻ‡ āĻ¯āĻĻāĻŋ
āĻ†āĻĒāĻ¨āĻŋ STDOUT āĻŦāĻžāĻāĻ§āĻ›ā§‡āĻ¨, *STDOUT āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻŦāĻ˛ā§āĻ¨
$āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛, *$āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ "āĻŸāĻžāĻ‡ $āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛" āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ $āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛āĻ•ā§‡ āĻŦāĻžāĻāĻ§ā§‡, āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻ¨āĻ¯āĻŧ
āĻāĻŸāĻžāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡.

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻšāĻŋā§ŽāĻ•āĻžāĻ° āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋāĨ¤

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻšāĻŋā§ŽāĻ•āĻžāĻ°;

TIEHANDLE āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻļāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
āĻ•ā§‹āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĨ¤ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻŋāĻ›ā§ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¤āĻĨā§āĻ¯ āĻ°āĻžāĻ–āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.

āĻ¸āĻžāĻŦ āĻŸāĻžāĻ‡āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ { āĻŽā§āĻĻā§āĻ°āĻŖ " \n"; āĻ†āĻŽāĻžāĻ° $i; āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻ•āĻ°ā§āĻ¨ \$i, āĻļāĻŋāĻĢāĻŸ }

āĻāĻŸāĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛āĻŸāĻŋ "syswrite" āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻžāĻŦ āĻ˛āĻŋāĻ–ā§āĻ¨ {
$r = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ°($buf,$len,$offset) = @_;
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ "āĻ˛āĻŋāĻ–ā§āĻ¨ āĻ•āĻ˛, \$buf=$buf, \$len=$len, \$offset=$offset";
}

āĻāĻŸāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻ°ā§āĻ¨
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛āĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤ āĻšāĻŦā§‡
"print()" āĻŦāĻž "say()" āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤ āĻāĻ° āĻ¸ā§āĻŦ-āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ“ āĻāĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ†āĻļāĻž āĻ•āĻ°ā§‡
āĻ¯ā§‡ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡.

āĻ¸āĻžāĻŦ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ { $r = āĻļāĻŋāĻĢāĻŸ; $$r++; āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ¯ā§‹āĻ—āĻĻāĻžāĻ¨($,,āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ°(uc($_),@_)),$\ }

"say()" $\ āĻŦā§āĻ¯āĻ¤ā§€āĻ¤ "print()" āĻāĻ° āĻŽāĻ¤ā§‹ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ "\n" āĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
"PRINT()"-āĻ "say()" āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡ā§ˇ

āĻāĻŸāĻŋ āĻŽā§āĻĻā§āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛āĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤ āĻšāĻŦā§‡
"printf()" āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤ āĻāĻ° āĻ¸ā§āĻŦ-āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ“ āĻāĻŸāĻŋ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ†āĻļāĻž āĻ•āĻ°ā§‡
āĻ¯ā§‡ printf āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡.

āĻ¸āĻžāĻŦ PRINTF {
āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°;
āĻ†āĻŽāĻžāĻ° $fmt = āĻļāĻŋāĻĢāĻŸ;
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ sprintf($fmt, @_);
}

āĻāĻŸāĻŋ āĻĒāĻĄāĻŧā§āĻ¨, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛āĻŸāĻŋ "āĻ°āĻŋāĻĄ" āĻŦāĻž "sysread" āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻĄāĻŧāĻž āĻšāĻŦā§‡
āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤

āĻ‰āĻĒ āĻĒāĻĄāĻŧā§āĻ¨ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $bufref = \$__[0];
my(undef,$len,$offset) = @_;
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨ "READ called, \$buf=$bufref, \$len=$len, \$offset=$offset";
# $$bufref-āĻ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨, āĻĒāĻĄāĻŧāĻžāĻ° āĻ…āĻ•ā§āĻˇāĻ°ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¯āĻŧ $len āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨
$len;
}

āĻāĻ‡ READLINE
āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛āĻŸāĻŋ "āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒāĻĄāĻŧāĻž āĻšāĻ¯āĻŧ " āĻŦāĻž "āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛"āĨ¤

"āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨" āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸā§‡ āĻāĻŸāĻŋāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤, āĻŦāĻž āĻ¨āĻž-āĻ° āĻœāĻ¨ā§āĻ¯ "undef"
āĻ†āĻ°ā§‹ āĻ¤āĻĨā§āĻ¯āĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻ˛āĻžāĻ‡āĻ¨, āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ•ā§‹āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻ¨ā§‡āĻ‡. āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻŦāĻŋāĻ­āĻžāĻœāĻ• $/ (āĻĻā§‡āĻ–ā§āĻ¨
perlvar), āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻāĻŸāĻŋ "undef" (āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ "slurp" āĻŽā§‹āĻĄ) āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ¸āĻžāĻŦ āĻ°āĻŋāĻĄāĻ˛āĻžāĻ‡āĻ¨ {
āĻ†āĻŽāĻžāĻ° $r = āĻļāĻŋāĻĢāĻŸ;
āĻ¯āĻĻāĻŋ (āĻ“āĻ¯āĻŧāĻžāĻ¨ā§āĻŸāĻžāĻ°ā§‡) {
āĻĢā§‡āĻ°āĻ¤ ("āĻŦāĻžāĻ•āĻŋ āĻ¸āĻŦ\n",
"āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻĒ\n",
"eof\n");
} āĻ…āĻ¨ā§āĻ¯ {
āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§āĻ¨ "READLINE" āĻ¨āĻžāĻŽā§‡āĨ¤ ++$$r "āĻŦāĻžāĻ°\n";
}
}

āĻāĻ‡ GETC
"getc" āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻŦā§‡āĨ¤

āĻ¸āĻžāĻŦ GETC { āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨ "GETC āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž, āĻĒāĻžāĻ°ā§āĻ˛ āĻĒāĻžāĻ¨"; āĻĢā§‡āĻ°āĻ¤ "a"; }

EOF āĻāĻ‡
āĻ¯āĻ–āĻ¨ "eof" āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻŦā§‡āĨ¤

āĻĒāĻžāĻ°ā§āĻ˛ 5.12 āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻž āĻšāĻŦā§‡
āĻļā§‚āĻ¨ā§āĻ¯ āĻ¯āĻĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ›āĻžāĻĄāĻŧāĻž "eof" āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ; 1 āĻ¯āĻĻāĻŋ "eof" āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ
āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°, āĻ¯ā§‡āĻŽāĻ¨ "eof(FH)"; āĻāĻŦāĻ‚ 2 āĻ–ā§āĻŦ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¯ā§‡āĻŸāĻŋ āĻŦāĻžāĻāĻ§āĻž āĻĢāĻžāĻ‡āĻ˛āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛
"ARGV" āĻāĻŦāĻ‚ "eof" āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¸āĻš āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨ "eof()"āĨ¤

āĻ¸āĻžāĻŦ EOF { āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ $stringbuf āĻ¨āĻ¯āĻŧ }

āĻāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨
"āĻ•ā§āĻ˛ā§‹āĻœ" āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛āĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻšāĻ˛ā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻŦā§‡āĨ¤

āĻ¸āĻžāĻŦ āĻ•ā§āĻ˛ā§‹āĻœ { āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ "CLOSE āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§ˇ\n" }

āĻāĻŸāĻŋ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¨ā§āĻ§āĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹, āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ "āĻ†āĻ¨āĻŸāĻŋ" āĻ˜āĻŸāĻŦā§‡āĨ¤ āĻāĻŸāĻž
āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡ āĻ¤āĻ–āĻ¨ "āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦāĻ¨ā§āĻ§" āĻ•āĻ°āĻž āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ āĻ¨ā§€āĻšā§‡ "The "untie" Gotcha āĻĻā§‡āĻ–ā§āĻ¨āĨ¤

āĻāĻ‡ āĻ§ā§āĻŦāĻ‚āĻ¸
āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻ¨ā§āĻ§āĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹, āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻŦāĻžāĻāĻ§āĻž āĻšāĻžāĻ¤āĻ˛ āĻšāĻŦā§‡
āĻ§ā§āĻŦāĻ‚āĻ¸ āĻšāĻ¤ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻŸāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€āĨ¤

āĻ¸āĻžāĻŦ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°ā§‹āĻ¯āĻŧ { āĻŽā§āĻĻā§āĻ°āĻŖ " \n"}

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ›ā§‹āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¤āĻž āĻāĻ–āĻžāĻ¨ā§‡:

āĻŸāĻžāĻ‡ (*FOO, 'āĻšāĻŋā§ŽāĻ•āĻžāĻ°');
FOO āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨ "āĻšā§āĻ¯āĻžāĻ˛ā§‹\n";
$a = 4; $b = 6;
FOO $a, " āĻĒā§āĻ˛āĻžāĻ¸", $b, " āĻ¸āĻŽāĻžāĻ¨", $a + $b, "\n" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨;
āĻ›āĻžāĻĒāĻž ;

UNTIE āĻāĻ‡
āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸāĻžāĻ‡ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ UNTIE āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž(). āĻĻā§‡āĻ–ā§āĻ¨ "āĻĻāĻŋ
āĻ¨ā§€āĻšā§‡ "āĻ†āĻ¨āĻŸāĻŋ" āĻ§āĻ°āĻž"

āĻ¸āĻžāĻ°ā§āĻœāĻžāĻ°āĻŋāĻ° "āĻ–ā§‹āĻ˛āĻž" gotcha
āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ‰āĻ­āĻ¯āĻŧ āĻĨā§‡āĻ•ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻŸāĻžāĻ‡() or āĻŦāĻžāĻāĻ§āĻž(), āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ
āĻŸāĻžāĻ‡ āĻāĻ° āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻŦāĻ‚āĻ¸āĻ•āĻžāĻ°ā§€ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ›ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻĒāĻžāĻšāĻžāĻ°āĻž.

āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡ āĻāĻ° āĻāĻ‡ (āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ āĻŦāĻ°āĻ‚ āĻ…āĻ¨ā§āĻĒāĻ¯ā§āĻ•ā§āĻ¤) āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§āĻ¨; āĻāĻŸāĻž āĻ¸āĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻ¯āĻŧ
āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§‡āĻ˛āĻžāĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ˛āĻ— āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛āĨ¤

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨;

āĻ•āĻ ā§‹āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
IO::āĻĢāĻžāĻ‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;

āĻ¸āĻžāĻŦ āĻŸāĻžāĻ‡āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ˛āĻžāĻ° {
āĻ†āĻŽāĻžāĻ° $āĻ•ā§āĻ˛āĻžāĻ¸ = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $filename = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $handle = IO::File->new( "> $filename" )
āĻ…āĻĨāĻŦāĻž āĻĄāĻžāĻ‡ "$filename āĻ–ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž: $!\n";

$handle "The Start\n" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨;
āĻ†āĻļā§€āĻ°ā§āĻŦāĻžāĻĻ āĻ•āĻ°ā§āĻ¨ {FH => $handle, Value => 0}, $class;
}

āĻ¸āĻžāĻŦ FETCH {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻĢā§‡āĻ°āĻ¤ $self->{āĻŽāĻžāĻ¨};
}

āĻ¸āĻžāĻŦ āĻ¸ā§āĻŸā§‹āĻ° {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $āĻŽāĻžāĻ¨ = āĻļāĻŋāĻĢāĻŸ;
my $handle = $self->{FH};
$handle "$value\n" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨;
$self->{Value} = $value;
}

āĻ‰āĻĒ āĻ§ā§āĻŦāĻ‚āĻ¸ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
my $handle = $self->{FH};
$handle "The End\n" āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨;
$āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨;
}

1;

āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¯āĻž āĻāĻ‡ āĻŸāĻžāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡:

āĻ•āĻ ā§‹āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;

āĻ†āĻŽāĻžāĻ° $āĻĢā§āĻ°ā§‡āĻĄ;
āĻŸāĻžāĻ‡ $fred, 'āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨', 'myfile.txt';
$fred = 1;
$fred = 4;
$fred = 5;
$fred āĻ–ā§āĻ˛ā§āĻ¨;
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ "cat myfile.txt";

āĻāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŸāĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ:

āĻļā§āĻ°ā§
1
4
5
āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋ

āĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŦ āĻ āĻŋāĻ•āĻ‡. āĻ†āĻĒāĻ¨āĻžāĻ°āĻž āĻ¯āĻžāĻ°āĻž āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨ āĻ¤āĻžāĻ°āĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¯ā§‡
āĻŦāĻžāĻāĻ§āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻāĻ¤āĻĻāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ Remember class-āĻ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¯āĻžāĻ•
āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨; āĻŦāĻ˛ā§āĻ¨, āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§:

āĻ¸āĻžāĻŦ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ {
āĻ†āĻŽāĻžāĻ° $self = āĻļāĻŋāĻĢāĻŸ;
āĻ†āĻŽāĻžāĻ° $text = āĻļāĻŋāĻĢāĻŸ;
my $handle = $self->{FH};
āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ $handle $text, "\n";
}

āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ "āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯" āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨
āĻŦāĻžāĻāĻ§āĻž āĻŦāĻ¸ā§āĻ¤ā§):

āĻ•āĻ ā§‹āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;
āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨;

āĻ†āĻŽāĻžāĻ° ($āĻĢā§āĻ°ā§‡āĻĄ, $x);
$x = āĻŸāĻžāĻ‡ $fred, 'āĻŽāĻ¨ā§‡ āĻ°ā§‡āĻ–ā§‹', 'myfile.txt';
$fred = 1;
$fred = 4;
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ $x "āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻšā§āĻ›ā§‡...";
$fred = 5;
$fred āĻ–ā§āĻ˛ā§āĻ¨;
āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ "cat myfile.txt";

āĻ¯āĻ–āĻ¨ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ āĻ•ā§‹āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĨāĻžāĻ•ā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻžāĻ°āĻŖāĻŸāĻž āĻāĻ–āĻžāĻ¨ā§‡:

āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦāĻžāĻāĻ§āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻ° āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻŽāĻžāĻ¨
TIESCALAR, TIEARRAY, āĻŦāĻž TIEHASH āĻĢāĻžāĻ‚āĻļāĻ¨āĨ¤ āĻāĻ‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ†āĻ›ā§‡,
āĻ¯āĻĨāĻž, āĻŦāĻžāĻāĻ§āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĨ¤ āĻ•āĻ–āĻ¨ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž() āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¯ā§‡
āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¨āĻˇā§āĻŸ āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻŽāĻ¤ā§‹, āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ§ā§āĻŦāĻ‚āĻ¸āĻ•āĻžāĻ°ā§€
(DESTROY) āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻŽāĻ¨ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ¯ā§‡āĻ—ā§āĻ˛ā§‹āĻ° āĻ†āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻŦā§ˆāĻ§ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¨ā§‡āĻ‡; āĻāĻŦāĻ‚
āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦāĻ¨ā§āĻ§āĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž $x āĻ āĻŦāĻžāĻāĻ§āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤
āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ¯āĻ–āĻ¨ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž() āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻ§ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻšāĻŦā§‡
āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻ†āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻ¸ā§‡āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻĄā§‡āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻāĻŦāĻ‚ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ
āĻŦāĻ¨ā§āĻ§ āĻ¨āĻž āĻ•ā§‹āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¨ā§‡āĻ‡ āĻ•āĻžāĻ°āĻŖ āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻžāĻĢāĻžāĻ° āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¨āĻž
āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻĢā§āĻ˛āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ•ā§€, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ•ā§€ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨? āĻĒā§‚āĻ°ā§āĻŦā§‡
āĻāĻšā§āĻ›āĻŋāĻ• UNTIE āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ›āĻŋāĻ˛ āĻ­āĻžāĻ˛ āĻĒā§āĻ°āĻžāĻ¨ā§‹ "-w" āĻĒāĻ¤āĻžāĻ•āĻžāĨ¤ āĻ¯āĻž
āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ˛ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻĒāĻŸ āĻ•āĻ°āĻŦā§‡ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž() āĻāĻŦāĻ‚ āĻāĻ–āĻ¨āĻ“ āĻŦā§ˆāĻ§ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ†āĻ›ā§‡
āĻŦāĻžāĻāĻ§āĻž āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ "āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž 'āĻ†āĻ¨āĻŸāĻžāĻ‡' āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨" āĻŦāĻž āĻ›āĻŋāĻ˛
"-w" āĻĒāĻ¤āĻžāĻ•āĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšāĻžāĻ˛āĻžāĻ¨, āĻĒāĻžāĻ°ā§āĻ˛ āĻāĻ‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻŸāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°ā§‡:

1āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻāĻ–āĻ¨āĻ“ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¨ā§€āĻ°āĻŦ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻŦā§ˆāĻ§ āĻ¨ā§‡āĻ‡
āĻŦāĻžāĻāĻ§āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ†āĻ—ā§‡ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž() āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ:

undef $x;
$fred āĻ–ā§āĻ˛ā§āĻ¨;

āĻāĻ–āĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ UNTIE āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻ•ā§‹āĻ¨ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ "unti" āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻāĻŦāĻ‚ āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻŸāĻŋ āĻ§ā§āĻŦāĻ‚āĻ¸ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡āĨ¤ āĻ•āĻŋ āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ°ā§āĻĨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ°āĻžāĻ–āĻž āĻšāĻšā§āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ°
āĻ¨āĻ¨-āĻŸāĻžāĻ‡-āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¤āĻŦā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
UNTIE āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ DESTROY-āĻ āĻĨāĻžāĻ•āĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻ°āĻžāĻ¨ā§‹āĻ° āĻ…āĻ°ā§āĻĨāĨ¤

āĻ¯āĻĻāĻŋ UNTIE āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻŸāĻŋ āĻ˜āĻŸāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ UNTIE āĻĒāĻĻā§āĻ§āĻ¤āĻŋ
"āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤" āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ—āĻŖāĻ¨āĻž āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ˛ā§‡ āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻœāĻžāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
āĻ¯ā§‡āĻŽāĻ¨ āĻ¨ā§‹ UNTIE āĻ•ā§‡āĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

āĻ¸āĻžāĻŦ UNTIE
{
āĻ†āĻŽāĻžāĻ° ($obj,$count) = @_;
carp "$count āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻāĻ–āĻ¨āĻ“ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡" āĻ¯āĻĻāĻŋ $count;
}

onworks.net āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ā§‡ perltie āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨


āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨

āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻĒ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ

  • 1
    411 āĻŸāĻĒāĻĒāĻŋāĻāĻŽ
    411 āĻŸāĻĒāĻĒāĻŋāĻāĻŽ
    411toppm - Sony Mavica411 āĻ‡āĻŽā§‡āĻœ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§āĻ¨
    āĻĒāĻŋāĻĒāĻŋāĻāĻŽ āĻĨā§‡āĻ•ā§‡...
    411toppm āĻ°āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨
  • 2
    a+
    a+
    onworks.net āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ a+ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
    āĻ¸ā§‡āĻŦāĻž. ...
    A+ āĻšāĻžāĻ˛āĻžāĻ¨
  • 3
    coredumpctl
    coredumpctl
    coredumpctl - āĻĨā§‡āĻ•ā§‡ coredumps āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°ā§āĻ¨
    āĻœāĻžāĻ°ā§āĻ¨āĻžāĻ˛...
    coredumpctl āĻšāĻžāĻ˛āĻžāĻ¨
  • 4
    āĻ•ā§‹āĻ°āĻ˛āĻŋāĻ¸ā§āĻŸ
    āĻ•ā§‹āĻ°āĻ˛āĻŋāĻ¸ā§āĻŸ
    corelist - āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨ āĻĢā§āĻ°āĻ¨ā§āĻŸāĻāĻ¨ā§āĻĄ
    āĻŽāĻĄāĻŋāĻ‰āĻ˛::āĻ•ā§‹āĻ°āĻ˛āĻŋāĻ¸ā§āĻŸ āĻŦāĻ°ā§āĻŖāĻ¨āĻž: āĻĻā§‡āĻ–ā§āĻ¨
    āĻŽāĻĄāĻŋāĻ‰āĻ˛::āĻāĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ°āĻ˛āĻŋāĻ¸ā§āĻŸāĨ¤ ...
    āĻ•ā§‹āĻ°āĻ˛āĻŋāĻ¸ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨
  • 5
    g.gui.dbmggrass
    g.gui.dbmggrass
    g.gui.dbmgr - āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡
    āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°āĨ¤ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ:
    āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ, GUI, āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻŸā§‡āĻŦāĻŋāĻ˛, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ ...
    g.gui.dbmggrass āĻšāĻžāĻ˛āĻžāĻ¨
  • 6
    g.gui.gcpgrass
    g.gui.gcpgrass
    g.gui.gcp - āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻœāĻŋāĻ“āĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚
    āĻ—ā§āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤
    āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ: āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ, GUI,
    āĻœāĻŋāĻ“āĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨, āĻœāĻŋāĻ¸āĻŋāĻĒāĻŋ...
    g.gui.gcpgrass āĻšāĻžāĻ˛āĻžāĻ¨
  • āĻ†āĻ°āĻ“ Âģ

Ad