Perl: вопрос ламера
нужно проверить что вернет выражение:
$var =~ /./
моя поптыка написать этот скрипт:
$var='www123';
if ($var=~ /./) {print "true!"}
if (!($var= ~ /./) {print "false!"}
может кто-нибудь написать рабочую версию скрипта?
и еше вопрос, немнжко в оффтоп, но не очень
у нас есть выходной файл 1.txt - с текстом
и условие которое хранится в файле 2.txt - с уловием :)
нужно запихать эти два входных параметра например в grep чтобы тот вернул строчки которые соответсвуют условию
пытался чтобы содержимое 2.txt пихать в переменную типа: $temp <2.txt
но как понимаете ничего логичного в ответ не получил...
подскажите плиз что я делаю не так...??
(Есть книжка по Шелу, но так ничего об этих проблемах не сказано, видимо, это слишком тривиально)
Цитата:
Originally posted by generalm
(Есть книжка по Шелу, но так ничего об этих проблемах не сказано, видимо, это слишком тривиально)
(Есть книжка по Шелу, но так ничего об этих проблемах не сказано, видимо, это слишком тривиально)
Видимо shell и perl хоть и похожи, но не близнецы =)ъ Забудем о shell'е и прочем.
sub gg {
my (@ptrns,@subjs,@result);
open(FH,'1.txt'); @subjs = <FH>; close FH; chomp(@subjs);
open(FH,'2.txt'); @ptrns = <FH>; close FH; chomp(@ptrns);
for my $ptrn (@ptrns) {
@result = grep { m,$ptrn, } @subjs;
}
print map { $_ . "\n" } @result;
}
gg();
вообще давно к perl'н не притрагивался.. надо исправляться!! =)ъ
содержание 1.txt:
asfasf134134safasf
4fasfsaf4fasfsaf
fsaf2faf3faffaf4
fafaffa4fafafafafa
afaf3faf444t64afa
33351515afgaagaeee
содержание 2.txt:
^[a-zA-Z]+\d+[a-zA-Z]+$
^[a-zA-Z]*\d+[a-zA-Z]+$