Несколько небольших задачек на PERL'е.

1. Есть строчка чтототам/оченьважное/всечтоугодно.
Как присвоить переменной $var оченьважное из этой строчки?

2. Есть строчка неважно что здесь
А как преобразовать неважно что здесь в Неважно Что Здесь, т.е. чтобы каждое слово, разделенное пробелом начиналось с большой буквы?

3. Как удалить из строчки всё до (или после) определенного слова.
Например. чегототамметкаэтонадоконецметкивсеостальное.
1. Как вариант:
my ($s1, $s2, $s3) = split(/\//, $string);
где $s2 будет содержать нужную тебе феньку.

2. Тоже как вариант, а вариантов тут может быть много:

#!/usr/bin/perl
$s = 'what is it?';
$s =~ s/\b([a-z])/\U$1/g;
print "$s\n";

3.
$var = "блаблаблаМЕТКАблаблаблаМЕТКАблаблабла";
$var =~ s/^(.+)МЕТКА(.+)МЕТКА(.+)$/$2/;
2. Например, так:

use locale;
$s = "неважно что здесь";
print $s, "\n";
$s =~ s/(\w+)/\u$1/g;
print $s, "\n";
В этом примере:

#!/usr/bin/perl
$s = 'what is it?';
$s =~ s/\b([a-z])/\U$1/g;
print "$s\n";

заменяются на заглавные все буквы, которые идут и после спец. символов (. * ' -).
Как изменить этот код, чтобы буквы заменялись на заглавные в тексте только после пробелов?

#!/usr/bin/perl
$s = "what is it *f .l -a 'c?";
$s =~ s/((^\w)|(\b( \w)))/\U$1/g;
print "$s\n";

Этот образец удовлетворяет твоему требованию. Обрати внимание на наличие пробела между "(" и "\", выделенных жирным.


TopList Rambler's Top100