say Dumper $data_structure;
say outputs a trailing newline unless the arguments already contain a trailing newline.
I just feel that is clearer and less prone to the sort of error I created.
I'm no Lisp guy, but using a few more brackets helps to avoid ambiguity and misunderstandings between humans and computers. If you call a function or method, add brackets around the argument list. That's what I do, with only very few exceptions - mostly stuff that is listed in perlfunc, but behaves more like a keyword or a C macro (__FILE__, __LINE__, __PACKAGE__, do, eval, package, use, require) than like a function.
I would have written ...
say Dumper($data_structure);
... in code for perl 5.10 and newer (i.e. with use v5.10 in the file), or ...
print Dumper($data_structure),"\n";
# or
print Dumper($data_structure)."\n";
... in code for older perls.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
|