Долго мучился с проблемой, все описано вот тут
Архив за год: 2010
Валидируем UTF-ые строки в Yii
Начиная с версии 1.1.1 CStringValidator может принимать параметр «encoding». Выдержка из API:
the encoding of the string value to be validated (e.g. ‘UTF-8’). Setting this property requires you to enable mbstring PHP extension. The value of this property will be used as the 2nd parameter of the mb_strlen() function. Defaults to false, which means the strlen() function will be used for calculating the length of the string.
Используйте его при валидации текстовых строк на русском языке.
Пример (часть метода rules модели):
array(‘question, answer’, ‘length’, ‘max’=>255,’encoding’ => ‘utf-8’),
И не забудьте прочитать статью о том, как включить поддержку Юникод в Yii
Оператор повторения строк в Perl
Оператор повторения строк в Perl — x.
Пример:
$str = ‘xoma’;
say $str x 3; #xomaxomaxoma
Пробел между переменной-строкой и знаком «x» обязателен.
Иначе возникнет неоднозначность и программа работать не будет.
Изучаем Perl. Упражнения к главе 2.
Ответы на упражнения к главе 2.
1
#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;
use constant PI => 3.141592654;
my $radius = 12.5;
say 2 * PI * $radius;
2
#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;
use constant PI => 3.141592654;
say ‘Input radius:’;
chomp(my $radius = <STDIN>);
say 2 * PI * $radius;
3
#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;
use constant PI => 3.141592654;
say ‘Input radius:’;
chomp(my $radius = <STDIN>);
my $circ = 2 * PI * $radius;
if($radius < 0){
$circ = 0;
}
say $circ;
4
#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;
say ‘input one number:’;
chomp(my $one = <STDIN>);
say ‘input second number:’;
chomp(my $second = <STDIN>);
my $result = $one * $second;
say «$one * $second = $result»;
5
#!/usr/bin/env perl
use strict;
use warnings;
use 5.010;say ‘input one string:’;
chomp(my $string = <STDIN>);
say ‘input repeat number:’;
chomp(my $number = <STDIN>);
my $result = $string x $number;
say «result is $result»;
Особо запомнилась конструкция вида:
chomp(my $radius = <STDIN>);