Показ дописів із міткою perl. Показати всі дописи
Показ дописів із міткою perl. Показати всі дописи

середу, квітня 22, 2009

Регулярные выражения php

regexpЯ надеюсь все знают, что такое регулярные выражения, публикую полезную таблицу и полезные примеры для web-разработчиков:


Ниже приведена таблица паттернов и их соответствий:

/pattern/Соответствие
x?ноль или один символ 'x'
x*ноль или больше символов 'x'
x+один или больше символов 'x'
.*ноль или больше любых символов
.+один или больше любых символов
{m}M символов
[]символы, заключенные в []
[^]символы, кроме заключенных в []
[0-9]любая цифра от '0' до '9'
[a-z]любая буква от 'a' до 'z'
[^0-9]любой символ, не находящийся между '0' и '9'
[^a-z]любой символ, не находящийся между 'a' и 'z'
/^.../первый символ в строке
/...$/последний символ в строке
\dодна цифра, то же, что и [0-9]
\d+одна или больше цифр, то же, что и [0-9]+
\Dодна не-цифра, то же, что и [0-9]
\D+одна или больше не-цифр, то же, что и [0-9]+
\wодин alphanumeric символ (латинская буква или цифра), то же, что и [a-zA-Z0-9]
\w+один или больше alphanumeric-символов, то же, что и [a-zA-Z0-9]+
\Wодин не-alphanumeric символ, то же что и [^a-zA-Z0-9]
\W+один или больше не-alphanumeric символ, то же что и [^a-zA-Z0-9]+
\sодин space символ (пробел, табуляция, новая строка), то же что и [\n\t\r\f]
\s+один или больше space символов, то же что и [\n\t\r\f]
\Sодин не-space символ, то же что и [^\n\t\r\f]
\S+один или больше не-space символов, то же что и [^\n\t\r\f]+
a|b|c'a' или 'b' или 'c'
abcподстрока "abc"
(pattern)() запоминает группу символов, присваивая их переменным $1, $2 и т.д. См. примеры.
/pattern/iигнорировать регистр букв

Это, конечно, не понять с первого раза, поэтому вот примеры:

ПримерОписание
$str=~/perl/;проверяет, есть ли в строке $str подстрока "perl"
$str=~/^perl/;проверяет, начинается ли строка с подстроки "perl"
$str=~/perl$/;проверяет, заканчивается ли строка на подстроку "perl"
$str=~/c|g|i/;проверяет, содержит ли строка символ 'c' или 'g' или 'i'
$str=~/cg{2,4}i/;проверяет, содержит ли строка символ 'c', следующие сразу за ним 2-4 символа 'g', за которыми следует символ 'i'
$str=~/cg*i/;проверяет, содержит ли строка символ 'c', слудующие за ним 0 или больше символа 'g', за которыми следует символ 'i'
$str=~/c..i/;проверяет, содержит ли строка символ 'c', и символ 'i', разделенные двумя любыми буквами
$str=~/[cgi]/;проверяет, содержит ли строка один из символов 'c', 'g' или 'i'
$str=~/\d/;проверяет, содержит ли строка цифру
$str=~/\W/;проверяет, содержит ли строка символы, не являющиеся буквами латинского алфавита и цифрами

Использование регулярных выражений:

1) Иногда требуется узнать расширение файла по его имени. Элементарное регулярное выражение выбирает все символы после последней точки;
# Пример в  PHP

$filename = '/index.php';

$out = array();

preg_match('/\S+\.(\S+)$/', $filename, $out);

# $out[1] будет содержать расширение файла - 'php'

2) Заменяет английские закрывающие кавычки-«лапки» на русские «елочки»;
# Пример в  PHP

$text = preg_replace('/(\S)"([ .,?!])/', '$1»$2', $text);

3) Простая проверка правильности введенного адреса электронной почты;
# Пример в  PHP

$is_ok = preg_match('/^(.+@.+\..+|)$/', $text);
4) Находит в тексте и автоматически преобразует адреса, начинающиеся с ftp://, http://, https:// в активные ссылки;
# Пример в  PHP

$text = preg_replace("#(https?|ftp)://\S+[^\s.,>)\];'\&
quot;!?]#", '\\0', $text);

неділю, березня 22, 2009

php - программист, или работаю за еду

php freelancerГде-то на московском сайте, я прочитал, что php-программисты в Москве работают за еду. Капец. Неужели php настолько плох? Или это москвичи как всегда зажрались...

С тех пор прошло пару лет. Я уже состоявшийся php-программист, как ни странно ))) Я начал просматривать вакансии программистов в google и блин, ни одной вакансии где нужен php. Хотя нет, есть одна, но там этот язык упоминается наряду с perl, python. Тоесть сам по себе он не нужен. Я расстроился! Я стал просматривать вакансии программиста php в Украине, и нашел довольно таки неплохие.

Компании требуется php-программист со стажем работы от 3 лет, со знанием еще всяких веб-технологий и зарплата нормальная...

Странно!
В нашей стране веб-программист, пишущий на php довольно востребован и за эту работу платят довольно не малые деньги. Да и в Москве наверное много людей неплохо зарабатывают используя данную технлогию. Много студентов, устраивающихся на работу знают php. В интернете куча наколенных решений с применением php. Вообщем полно всего.
Казалось бы все смотрит в сторону php.

Но! Это если посмотреть со стороны заказчика. Технология простая и быстрая, а главно действенная, а главное, относительно дешевая наряду с тем же питоном.

Держать штат php-программистов, в котором работаю за еду3 гуру программирования, 10 стажеров и еще 7 средних программеров намного дешевле и выгоднее, чем содержать штат из 20 гиков, пишущих на perl + python, вдобавок развлекающихся с++.

Результат то ведь один - веб сайт, написаный на php. Быстро и сердито, то что надо и решений полно, даже писать то ничего и не надо.

Это что касается заказчика! А что касается программиста?
Программист php пройдя определенный этап начинает задумываться, что пора бы писать на другом компьютерном языке. Это как в жизни, чем больше языков знаешь, тем умнее. И когда переквалифицировавшись из php-программера в python-программера с ужасом вспомниаешь как ты писал на этом ужасном php можно и пошутить: "PHP - пишу за еду".

Конструкции php на самом деле скучны и просты и когда поднаторев в типовых задачах приходится писать одно и то же - это быстро надоедает. Хочется свежых решений, свежий конструкций и идей, интересных задач...

Выучить то-же perl на много сложнее, чем php. Но выучив его можно пожинать много больше плодов и не программировать за еду, как в Москве ))).

неділю, березня 01, 2009

Верблюды и иголки: встреча компьютерной поэзии и языка программирования Perl


Это стихотворение было опубликовано в Economist и Guardian.
-----------------------------------------------------------------------------------------------------------------
#!/usr/bin/perl

APPEAL:

listen (please, please);

open yourself, wide;
join (you, me),
connect (us,together),

tell me.

do something if distressed;

@dawn, dance;
@evening, sing;
read (books,$poems,stories) until peaceful;
study if able;

write me if-you-please;

sort your feelings, reset goals, seek (friends, family, anyone);

do*not*die (like this)
if sin abounds;

keys (hidden), open (locks, doors), tell secrets;
do not, I-beg-you, close them, yet.

accept (yourself, changes),
bind (grief, despair);

require truth, goodness if-you-will, each moment;

select (always), length(of-days)

# listen (a perl poem)
# Sharon Hopkins
# rev. June 19, 1995

BBC ставит Perl на рельсы...








ВВС хочет сделать очень интересное заявление.

Основываясь на архитектуру Рельсы, хотят прикрутить Перл на Рельсу...

Основным толчком для такой идеи послужило неимоверное количество генерируемых статических файлов (около 1400 в день!), также невозможность реализовать поставленные ВВС цели другими MVC фреймворками.

Им необходимо решение для рендеринга страниц на лету, а существующие фреймворки им не подходят. Беря за основу шаблоны дизайна и архутектуру кода Рельсы, будут крутить тудой Перл!

Очень инетерсное обсуждение в комментах новости.

Вообщем, интересно почитать тут!
Тут

Perl 5.10.0 RC1 is now available

Cабж!
Я пишу на perl и мне очень интересна была маленькая презентация...
Несколько ссылочек по теме:

Новость:
http://perlbuzz.com/2007/11/perl-5100-rc1-is-now-available.html

Презентация:
http://www.slideshare.net/rjbs/perl-510-for-people-who-arent-totally-ins...

Cpan:
http://search.cpan.org/~rgarcia/perl-5.10.0-RC1/

Perl and Google -coop

Всем любителям Perl, кто пользуется, а кто еще и нет!
Гугл имеет вот такой кастомный поиск по ресурсам Perl:
Ссылочка
Вот и новости конец, а кто слушал молодец )))))

Що таке база данних?

База данних — це спеціальна система зберігання, організації та пошуку інформації. Вона містить дані у вигляді таблиць, записів та інших стру...