* John Imrie <j.imrie@virginmedia.com> [2011-01-31 20:35]: > On 31/01/2011 10:20, Aristotle Pagaltzis wrote: > >* Dagfinn Ilmari Mannsåker<ilmari@ilmari.org> [2011-01-31 10:45]: > >>Aristotle Pagaltzis<pagaltzis@gmx.de> writes: > >> > >>>+ if (my $how = $replacement{$func}) { > >>>+ croak "Unimplemented: POSIX::$func() is C-specific, stopped" if not defined $how; > >>>+ croak "Unimplemented: POSIX::$func() $$_" if ref $how; > >>>+ croak "Use method $_() instead of POSIX::$func()" if $how =~ /->/; > >>>+ croak "Unimplemented: POSIX::$func() is C-specific, use $_ instead"; > >>>+ } > >> > >>s/\$_/\$how/g ? > > > >woops, good catch. Thanks for the feedback. It’ll be fixed when > >I send the patches to perlbug. > > Isn't this a good candidate for a given/when construct? > > given ($replacement{$func}) { > when (! defined) { croak "Unimplemented: POSIX::$func() is > C-specific, stopped"; } > when (ref) { croak "Unimplemented: POSIX::$func() $$_"; } > when (/->/) { croak "Use method $_() instead of POSIX::$func()"; } > default { croak "Unimplemented: POSIX::$func() is > C-specific, use $_ instead"; } > } I’m not sure. I don’t find the code significantly clearer either way and I didn’t want to modernise without a clear win in readability. I do like that it makes naming the value unnecessary, though. Does anyone have a strong opinion about this suggestion? Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/>Thread Previous | Thread Next