Keep It Simple, Stupid | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
moritz already demonstrated how precedence might break. Further, context might break. (Update: And tye said so already, while I was writing this. Eh.) Given those prototypes, files_identical( foo(), bar() ) currently means files_identical( scalar(foo()), scalar(bar()) ). Dropping prototypes means putting foo() and bar() in list context instead. If foo() is (or returns something that is) context sensitive, this may break. (Likewise, inspection_current( @array ) will, given the prototype, get the number of elements in @array. Without the prototype, it will get the first element. Given that this argument is called $file, this is a rather far-fetched scenario, but should serve to illustrate context sensitivity.) In this case, the standard wisdom on prototypes may well be trumped by the standard wisdom of legacy code: If it ain't broke, don't fix it.
print "Just another Perl ${\(trickster and hacker)},"
In reply to Re: Refactoring prototypes - what am I going to break
by Sidhekin
|
|