* [mdk-re] Обратно perl
@ 2001-07-20 11:35 cornet
2001-07-20 11:55 ` [mdk-re] " Sergey Degtyaryov
0 siblings, 1 reply; 9+ messages in thread
From: cornet @ 2001-07-20 11:35 UTC (permalink / raw)
To: mandrake-russian
Привет всем!
Сорри, но опять вопрос.
Есть строка, полученная программой из вне.
$string
Есть шаблон, полученный программой из вне.
$template
Как проверить наличие шаблона в строке если шаблон хранится в
переменной и на момент написания программы не известен???
То есть вставить его в конструкцию вида:
if($string=~/^.*<как то указать на $template>.*$/)
{
print "Ok\n";
}
Или можно это решить проще и другими средствами?
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 9+ messages in thread
* [mdk-re] Re: [mdk-re] Обратно perl
2001-07-20 11:35 [mdk-re] Обратно perl cornet
@ 2001-07-20 11:55 ` Sergey Degtyaryov
2001-07-20 12:23 ` cornet
0 siblings, 1 reply; 9+ messages in thread
From: Sergey Degtyaryov @ 2001-07-20 11:55 UTC (permalink / raw)
To: cornet
Доброго времени суток, cornet,
20.07.2001 в 11:49 Вы сказали буквально следующее:
c> Есть строка, полученная программой из вне.
c> $string
c> Есть шаблон, полученный программой из вне.
c> $template
c> Как проверить наличие шаблона в строке если шаблон хранится в
c> переменной и на момент написания программы не известен???
c> if($string=~/^.*<как то указать на $template>.*$/)
c> {
c> print "Ok\n";
c> }
А Вы пробуете решить задачу, перед тем как спросить? =)
Кажется Вы и так все знаете =)
$_ = 'Here we will find any template';
$tpl = 'template';
print "Looks like we found this f...ing \$tpl\n" if (/$tpl/);
Rgds, maga.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [mdk-re] Re: [mdk-re] Обратно perl
2001-07-20 11:55 ` [mdk-re] " Sergey Degtyaryov
@ 2001-07-20 12:23 ` cornet
2001-07-20 12:33 ` Sergey Degtyaryov
0 siblings, 1 reply; 9+ messages in thread
From: cornet @ 2001-07-20 12:23 UTC (permalink / raw)
To: mandrake-russian
Sergey Degtyaryov wrote:
>
> Доброго времени суток, cornet,
>
> 20.07.2001 в 11:49 Вы сказали буквально следующее:
>
> c> Есть строка, полученная программой из вне.
> c> $string
> c> Есть шаблон, полученный программой из вне.
> c> $template
>
> c> Как проверить наличие шаблона в строке если шаблон хранится в
> c> переменной и на момент написания программы не известен???
>
> c> if($string=~/^.*<как то указать на $template>.*$/)
> c> {
> c> print "Ok\n";
> c> }
>
> А Вы пробуете решить задачу, перед тем как спросить? =)
> Кажется Вы и так все знаете =)
Как выясняется вовсе не все :-))
> $_ = 'Here we will find any template';
> $tpl = 'template';
> print "Looks like we found this f...ing \$tpl\n" if (/$tpl/);
Я не знал про это свойство if(/переменная_содержащая_шаблон/)
искать этот шаблон в $_ как подстроку.
Спасибо ОГРОМНОЕ! Все получилось :-))
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 9+ messages in thread
* [mdk-re] Re: [mdk-re] Обратно perl
2001-07-20 12:23 ` cornet
@ 2001-07-20 12:33 ` Sergey Degtyaryov
2001-07-20 12:46 ` cornet
2001-07-21 0:28 ` [mdk-re] " Mikhail Zabaluev
0 siblings, 2 replies; 9+ messages in thread
From: Sergey Degtyaryov @ 2001-07-20 12:33 UTC (permalink / raw)
To: cornet
Доброго времени суток, cornet,
20.07.2001 в 12:38 Вы сказали буквально следующее:
c> Я не знал про это свойство if(/переменная_содержащая_шаблон/)
c> искать этот шаблон в $_ как подстроку.
Дело в том, что
if( $_=~/^.*$tpl.*$/)
{
print "Ok\n";
}
(Ваш код)
работает точно так же.
Просто ^.* и .*$ - лишнее, строка же обязательно начинается и
обязательно заканчивается =)
perldoc perlop на предмет поиска
perldoc perlre на предмет regexp
Rgds, maga
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [mdk-re] Re: [mdk-re] Обратно perl
2001-07-20 12:33 ` Sergey Degtyaryov
@ 2001-07-20 12:46 ` cornet
2001-07-20 12:59 ` Sergey Degtyaryov
2001-07-20 13:00 ` Artem K. Jouravsky
2001-07-21 0:28 ` [mdk-re] " Mikhail Zabaluev
1 sibling, 2 replies; 9+ messages in thread
From: cornet @ 2001-07-20 12:46 UTC (permalink / raw)
To: mandrake-russian
Sergey Degtyaryov wrote:
>
> Доброго времени суток, cornet,
>
> 20.07.2001 в 12:38 Вы сказали буквально следующее:
>
> c> Я не знал про это свойство if(/переменная_содержащая_шаблон/)
> c> искать этот шаблон в $_ как подстроку.
>
> Дело в том, что
>
> if( $_=~/^.*$tpl.*$/)
> {
> print "Ok\n";
> }
>
> (Ваш код)
> работает точно так же.
> Просто ^.* и .*$ - лишнее, строка же обязательно начинается и
> обязательно заканчивается =)
В том то и дело, что нет! В регулярных выражениях (по крайней
мере в perl) символ $ обозначает конец строки, а не начало имени
переменной. Такой код не работает - уже пробовал - он всегда дает
истину вне зависимости от содержимого $_ лишь бы она была
определена.
Эффектиивной частью такого кода остается ^.*$ то есть любые
символы любое число раз, а дальше $ уже пофигу, строка то уже
кончилась...
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 9+ messages in thread
* [mdk-re] Re: [mdk-re] Обратно perl
2001-07-20 12:46 ` cornet
@ 2001-07-20 12:59 ` Sergey Degtyaryov
2001-07-20 13:00 ` Artem K. Jouravsky
1 sibling, 0 replies; 9+ messages in thread
From: Sergey Degtyaryov @ 2001-07-20 12:59 UTC (permalink / raw)
To: cornet
Доброго времени суток, cornet,
20.07.2001 в 13:00 Вы сказали буквально следующее:
c> В том то и дело, что нет! В регулярных выражениях (по крайней
c> мере в perl) символ $ обозначает конец строки, а не начало имени
c> переменной. Такой код не работает - уже пробовал - он всегда дает
c> истину вне зависимости от содержимого $_ лишь бы она была
c> определена.
Неправда Ваша все же.
Попробуйте
$string = '00120';
for (1..5)
{
($string =~ /^.*$_.*$/) ? print "Found\n" : print "Not found\n";
}
$ - конец строки, $_ - переменная.
Rgds, maga
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [mdk-re] Re: [mdk-re] Обратно perl
2001-07-20 12:46 ` cornet
2001-07-20 12:59 ` Sergey Degtyaryov
@ 2001-07-20 13:00 ` Artem K. Jouravsky
2001-07-20 13:11 ` cornet
1 sibling, 1 reply; 9+ messages in thread
From: Artem K. Jouravsky @ 2001-07-20 13:00 UTC (permalink / raw)
To: mandrake-russian
Здравствуйте, cornet <cornet@zmail.ru>!
От Fri, 20 Jul 2001 13:00:31 +0400 вы писали на тему Re: [mdk-re] Re: [mdk-re] Обратно perl:
> Sergey Degtyaryov wrote:
> >
> > Доброго времени суток, cornet,
> >
> > 20.07.2001 в 12:38 Вы сказали буквально следующее:
> >
> > c> Я не знал про это свойство
> if(/переменная_содержащая_шаблон/)
> > c> искать этот шаблон в $_ как подстроку.
> >
> > Дело в том, что
> >
> > if( $_=~/^.*$tpl.*$/)
> > {
> > print "Ok\n";
> > }
> >
> > (Ваш код)
> > работает точно так же.
> > Просто ^.* и .*$ - лишнее, строка же обязательно начинается и
> > обязательно заканчивается =)
>
> В том то и дело, что нет! В регулярных выражениях (по крайней
> мере в perl) символ $ обозначает конец строки, а не начало
> имени
> переменной. Такой код не работает - уже пробовал - он всегда
> дает
> истину вне зависимости от содержимого $_ лишь бы она была
> определена.
> Эффектиивной частью такого кода остается ^.*$ то есть любые
> символы любое число раз, а дальше $ уже пофигу, строка то уже
> кончилась...
[ujo@ninth ujo]$ perl -e '$tt = "babuby";$_ = "sahfdhsagfbabubydskfdsjkgf";print /$tt/,"\n"'
1
[ujo@ninth ujo]$ perl -e '$tt = "babuby";$_ = "sahfdhsagfbabbydskfdsjkgf";print /$tt/,"\n"'
[ujo@ninth ujo]$
А вот это как? ;)
------
Best wishes,
+----------------------+--------------------------+
| ."-. | Work: +7-(095)-229-4278 |
| /X | _o.----. _ | ICQ: 103399444 |
|/\_ \/ / __ \_// ) | Artem K. Jouravsky |
|\__)-/_/\_____)____/ | http://www.ifirst.ru/ |
+----------------------+--------------------------+
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [mdk-re] Re: [mdk-re] Обратно perl
2001-07-20 13:00 ` Artem K. Jouravsky
@ 2001-07-20 13:11 ` cornet
0 siblings, 0 replies; 9+ messages in thread
From: cornet @ 2001-07-20 13:11 UTC (permalink / raw)
To: mandrake-russian
"Artem K. Jouravsky" wrote:
>
> Здравствуйте, cornet <cornet@zmail.ru>!
> От Fri, 20 Jul 2001 13:00:31 +0400 вы писали на тему Re: [mdk-re] Re: [mdk-re] Обратно perl:
>
> > Sergey Degtyaryov wrote:
> > >
> > > Доброго времени суток, cornet,
> > >
> > > 20.07.2001 в 12:38 Вы сказали буквально следующее:
> > >
> > > c> Я не знал про это свойство
> > if(/переменная_содержащая_шаблон/)
> > > c> искать этот шаблон в $_ как подстроку.
> > >
> > > Дело в том, что
> > >
> > > if( $_=~/^.*$tpl.*$/)
> > > {
> > > print "Ok\n";
> > > }
> > >
> > > (Ваш код)
> > > работает точно так же.
> > > Просто ^.* и .*$ - лишнее, строка же обязательно начинается и
> > > обязательно заканчивается =)
> >
> > В том то и дело, что нет! В регулярных выражениях (по крайней
> > мере в perl) символ $ обозначает конец строки, а не начало
> > имени
> > переменной. Такой код не работает - уже пробовал - он всегда
> > дает
> > истину вне зависимости от содержимого $_ лишь бы она была
> > определена.
> > Эффектиивной частью такого кода остается ^.*$ то есть любые
> > символы любое число раз, а дальше $ уже пофигу, строка то уже
> > кончилась...
>
> [ujo@ninth ujo]$ perl -e '$tt = "babuby";$_ = "sahfdhsagfbabubydskfdsjkgf";print /$tt/,"\n"'
> 1
> [ujo@ninth ujo]$ perl -e '$tt = "babuby";$_ = "sahfdhsagfbabbydskfdsjkgf";print /$tt/,"\n"'
>
> [ujo@ninth ujo]$
>
> А вот это как? ;)
>
Видимо у меня /dev/hands на бок съехали...
Ну вобщем я еще раз убедился - либо надо программировать
постоянно, либо не делать этого вовсе :-((
Однако жизнь заставляет...
Спасибо всем откликнувшимся!
--
******** FIRE & STEEL ********
^ permalink raw reply [flat|nested] 9+ messages in thread
* [mdk-re] Re: Обратно perl
2001-07-20 12:33 ` Sergey Degtyaryov
2001-07-20 12:46 ` cornet
@ 2001-07-21 0:28 ` Mikhail Zabaluev
1 sibling, 0 replies; 9+ messages in thread
From: Mikhail Zabaluev @ 2001-07-21 0:28 UTC (permalink / raw)
To: cornet
Hello Sergey,
On Fri, Jul 20, 2001 at 12:48:30PM +0400, Sergey Degtyaryov wrote:
>
> perldoc perlop на предмет поиска
> perldoc perlre на предмет regexp
А также perlsyn, perlvar, ...
--
Stay tuned,
MhZ JID: mookid@jabber.org
___________
Matz's Law:
A conclusion is the place where you got tired of thinking.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2001-07-21 0:28 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-20 11:35 [mdk-re] Обратно perl cornet
2001-07-20 11:55 ` [mdk-re] " Sergey Degtyaryov
2001-07-20 12:23 ` cornet
2001-07-20 12:33 ` Sergey Degtyaryov
2001-07-20 12:46 ` cornet
2001-07-20 12:59 ` Sergey Degtyaryov
2001-07-20 13:00 ` Artem K. Jouravsky
2001-07-20 13:11 ` cornet
2001-07-21 0:28 ` [mdk-re] " Mikhail Zabaluev
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git