(no subject)
May. 28th, 2007 04:41 pmМда...
bobuk был прав... Perl -- write only язык...
if (@fields) {
$Communiware::DB::errmsg = "'update $table set ".join(",",@fields).
"where item_id=?','".join("','", map {defined($_) ? $_ : '\'undef\''} (@args,$id))."'";
@args = map {undef($_) if defined($_) && $_ eq ''; $_} @args;
$dbh->do("update $table set ".join(",",@fields)." where
item_id=?",{},@args,$id) or die "No such item";
}
Что имел в виду автор -- не понимаю... А придется...
if (@fields) {
$Communiware::DB::errmsg = "'update $table set ".join(",",@fields).
"where item_id=?','".join("','", map {defined($_) ? $_ : '\'undef\''} (@args,$id))."'";
@args = map {undef($_) if defined($_) && $_ eq ''; $_} @args;
$dbh->do("update $table set ".join(",",@fields)." where
item_id=?",{},@args,$id) or die "No such item";
}
Что имел в виду автор -- не понимаю... А придется...
no subject
Date: 2007-05-28 12:52 pm (UTC)Ты еще мошковский/куковлевский не видел :)
Разбирай на запчасти, разберешься
no subject
Date: 2007-05-28 01:10 pm (UTC)Да вообщем так и сделаю... Просто удивляют трудозатраты...
инструмент не виноват )
Date: 2007-05-28 02:59 pm (UTC)if ( @fields ) { my @args = map { $_ eq '' ? undef : $_ } @args; my $sql = "UPDATE $table SET ". join(",", @fields) ." WHERE item_id=?"; $dbh->do( $sql, @args, $id ) or die "No such item"; }no subject
Date: 2007-05-28 03:13 pm (UTC)no subject
Date: 2007-05-28 03:19 pm (UTC)Re: инструмент не виноват )
Date: 2007-05-28 03:22 pm (UTC)А инструмент действительно не виновать ;-)
БТВ
Date: 2007-05-28 03:23 pm (UTC)Re: инструмент не виноват )
Date: 2007-05-28 05:29 pm (UTC)do(), ибо DRY.Re: БТВ
Date: 2007-05-28 07:34 pm (UTC)Re: БТВ
Date: 2007-05-29 10:04 am (UTC)Re: БТВ
Date: 2007-05-29 10:20 am (UTC)Re: БТВ
Date: 2007-05-29 10:35 am (UTC)А у меня чисто для себя не получается... А заказщики чего-то странного хотят ;-)