Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
Введение
Бизнесмены осторожно разглядывали докладчика, скепсис на лицах переходил в заинтересованность, и наоборот.
"Ваш рискованный план обещает выгоду, - заключил председатель. - Но он очень дорог и основан на одних предположениях. Наши математики не подтверждают ваших цифр. Почему мы должны доверить вам свои деньги? Что вы знаете такого, чего не знаем мы?"
"Прежде всего, - ответил он, - я знаю, как вертикально поставить яйцо без внешней опоры. А вы?" С этими словами докладчик залез в сумку и осторожно вынул свежее куриное яйцо. Он передал яйцо финансовым магнатам, которые передавали его из рук в руки, пытаясь справиться с несложной задачей. Все попытки оказались тщетными. Раздавались отчаянные возгласы: "Это невозможно! Никому не удастся поставить яйцо вертикально!"
Докладчик взял яйцо у рассерженных бизнесменов и поставил яйцо на дубовый стол, прочно удерживая его в руках. После легкого, но уверенного нажатия скорлупа слегка потрескалась. Когда докладчик убрал руку, яйцо осталось на месте - слегка продавленное, но определенно устойчивое. "Что здесь невозможного?" - спросил он.
"Но это же обычный фокус, - закричали бизнесмены. - Такое может сделать любой!"
"Ваша правда, - последовал ответ. - Но это относится ко всему. Пока вы не знаете решения, задача кажется невозможной. А решение выглядит так просто, что вы не понимаете, почему это раньше не приходило вам в голову. Так позвольте мне показать простое решение, чтобы другие могли легко пойти тем же путем. Вы мне доверяете?"
Скептически настроенные капиталисты убедились, что предприниматель действительно на что-то способен, и выделили деньги на его проект. Из маленького андалузского порта отправились в море "Нинья", "Пинта" и "Санта Мария". Их вел предприниматель с надбитым яйцом и своими идеями - Христофор Колумб.
За ним последовали многие.
Задачи программирования часто похожи на колумбово яйцо. Пока никто не покажет решения, вы сидите и смотрите, как яйцо (то бишь программа) падает и снова, ни на шаг не приближаясь к решению. Это особенно справедливо для таких идиоматических языков, как Perl.
Эта книга не задумывалась как полный справочник по Perl, хотя мы опишем некоторые недокументированные аспекты Perl. Любая поставка Perl содержит 1000 страниц электронной документации. Если их не окажется под рукой, обратитесь к системному администратору.
Итак, эта книга - для тех, кто хочет лучше узнать Perl. Перед вами не справочник и не учебник, хотя книга окажется полезным дополнением к ним. Она предназначена для людей, которые изучили основы языка и теперь пытаются связать ингредиенты в готовую программу. На протяжении 20 глав и свыше 300 отдельных тем, именуемых "Рецептами", вы найдете тысячи решений для повседневных задач, с которыми сталкиваются как новички, так и опытные программисты.
Мы постарались сделать так, чтобы книга подходила и для последовательного и для произвольного доступа. Каждый рецепт вполне самостоятелен, но если вам понадобится дополнительная информация, вы найдете в конце рецепта список ссылок. Глава обычно начинается с простых, повседневных рецептов, а книга начинается с простых глав. Рецепты, посвященные типам данных и операторам Perl, особенно полезны для новичков. Постепенно мы перейдем к темам и решениям, рассчитанным на более опытных программистов. Но там и сям встречается материал, способный вдохновить даже настоящего знатока Perl.
Главы начинаются с краткого обзора. За введением следует основная суть главы, ее рецепты. В духе лозунга Perl - "Всегда существует несколько решений" - во многих рецептах продемонстрированы разные способы решения той же самой или аналогичной задач. Рецепты простираются от конкретных решений в стиле "коротко, но мило" до углубленных мини-учебников. Там, где приведено несколько вариантов, мы часто объясняем преимущества и недостатки каждого подхода.
Предполагается, что к этой книге (как и к обычным поваренным книгам) читатель обращается более или менее произвольно. Если вы хотите научиться что-то делать, загляните в нужный рецепт. Даже если конкретное решение не подойдет к вашей задаче, оно по крайней мере даст представление о возможных направлениях поисков.
Каждая глава завершается одной или несколькими законченными программами. Хотя некоторые рецепты уже содержат маленькие программы, эти приложения выделяют основную тему главы; кроме того, в них, как и в любой реальной программе, используются приемы из других глав. Все эти программы полезны, некоторые из них используются ежедневно. Некоторые программы даже помогли нам в работе над книгой.
Начало
О чем эта книга
Предисловие
Полное оглавление
Заказать книгу в магазине "Мистраль"