спасибо 2-й вариант мне понравился больше,<br />я все думаю, а ведь уже куча модулей на это тему есть, <br />а каждай все-таки реализует по-своему,<br />исправлю - покажу <br /><br />11:36, 15 октября 2015 г., Victor Efimov <victor@vsespb.ru>:<br /><blockquote>а со второй что не нравится?<br />можно ещё так записать:<br /><br />join ("/", map { $_ ? $_ : () } ($_->day, $_->month, $_->year)) for<br />($date_of_birth)<br /><br />или даже так<br /><br />join ("/", map { $_ || () } ($_->day, $_->month, $_->year)) for ($date_of_birth)<br /><br />perl -e 'my $date_of_birth = { day => 1, month => 2, year => 3 };<br />print join ("/", map { $_ ? $_ : () } ($_->{day}, $_->{month},<br />$_->{year})) for ($date_of_birth)'<br />1/2/3<br /><br />хотя я тут вник в логику - она какая-то странная.. если day есть, а<br />month нет - странные результаты<br /><br />15 октября 2015 г., 11:16 пользователь Nikolay Mishin <mi@ya.ru> написал:<br /><br /><blockquote> Виктор, спасибо,<br /> певая часть действительно булет смотреться лучше<br /><br /> 10:53, 15 октября 2015 г., Victor Efimov <victor@vsespb.ru>:<br /><br /> примерно так:<br /><br />  push @person_row, (defined $person->get_father()) ?<br /> $person->get_father()->get_id() : undef;<br /><br /> на<br /><br /> push @person_row, map { defined ? $_->get_id : undef }<br /> ($person->get_father(), $person->get_mother()))<br /><br /> и<br /><br />       $date .= defined $date_of_birth->day ? $date_of_birth->day."/" : "";<br />       $date .= defined $date_of_birth->month ? $date_of_birth->month."/" :<br /> "";<br />       $date .= defined $date_of_birth->year ? $date_of_birth->year : "";<br /><br /> на<br /><br /> for ($date_of_birth) {<br />    join ("/", map { $_ ? $_ : () } ($_->day, $_->month, $_->year_))<br /> }<br /><br /><br /> (не тестировал)<br /><br /><br /> 15 октября 2015 г., 5:43 пользователь Nikolay Mishin <mi@ya.ru> написал:<br /><br />  Hi Moscow.PM!<br /><br />  Существует ли какой-либо сбособ сделать более читаемым такой код?:<br /><br />      push @person_row, (defined $person->get_father()) ?<br /> $person->get_father()->get_id() : undef;<br />      push @person_row, (defined $person->get_mother()) ?<br /> $person->get_mother()->get_id() : undef;<br />      push @person_row, ($person->get_email(), $person->get_homepage());<br /><br />      my $date = "";<br />      if(defined $person->get_date_of_birth()) {<br />        my $date_of_birth = $person->get_date_of_birth();<br />        $date .= defined $date_of_birth->day ? $date_of_birth->day."/" : "";<br />        $date .= defined $date_of_birth->month ? $date_of_birth->month."/" :<br /> "";<br />        $date .= defined $date_of_birth->year ? $date_of_birth->year : "";<br />      }<br /><br />  источник<br /> https://github.com/mishin/Ftree-cpan/blob/master/lib/Ftree/Exporters/ExcelExporter.pm#L53<br /><br />  --<br />  С уважением<br />  Николай Мишин<br /><br />  --<br />  Moscow.pm mailing list<br />  moscow-pm@pm.org | http://moscow.pm.org<br /><br /> --<br /> Moscow.pm mailing list<br /> moscow-pm@pm.org | http://moscow.pm.org<br /><br /><br /><br /> Sincerely, Nikolay Mishin<br /> --<br /> Moscow.pm mailing list<br /> moscow-pm@pm.org | http://moscow.pm.org<br /><br /></blockquote>-- <br />Moscow.pm mailing list<br />moscow-pm@pm.org | http://moscow.pm.org<br /></blockquote><br /><br />Sincerely, Nikolay Mishin