Hi Uri and Philip (and Abimael), On Monday 12 Apr 2010 10:32:36 Uri Guttman wrote: > >>>>> "PP" == Philip Potter <philip.g.pot...@gmail.com> writes: > PP> On 12 April 2010 07:55, Uri Guttman <u...@stemsystems.com> wrote: > >>>>>>> "PP" == Philip Potter <philip.g.pot...@gmail.com> writes: > >> PP> On 12 April 2010 04:31, Uri Guttman <u...@stemsystems.com> wrote: > >> >>>>>>> "AM" == Abimael Martinez <abijr....@gmail.com> writes: > >> >> > >> >> AM> print {$tmp} "$div_start"; > >> >> > >> >> no need for the {} around a single scalar handle. > >> > >> PP> But it *does* comply with Perl Best Practices #136. > >> > >> PP> * It makes the filehandle obviously different from the other > >> arguments PP> * It makes you less likely to accidentally put a wrong > >> comma in: PP> print {$tmp}, $div_start; > >> PP> * If you forget a comma on a print statement where you just meant > >> to PP> print to STDOUT, it stands out as being wrong: > >> PP> print $arg1 $arg2; # should have been print $arg1, $arg2; or > >> print PP> {$arg1} $arg2 > >> PP> * IOW, it forces you to be more explicit about when you are > >> printing PP> to a fh and when you are printing to STDOUT. > >> > >> PP> So there's at least 2 other people out there (Damian and me) who > >> think PP> the OP's version is reasonable. > >> > >> and did you see my much shorter answer with no file handles at all?? > > PP> How is that relevant to my point? > > because your point is moot with the much better solution. the OP is > wandering around the woods with IO::File and handles and he doesn't even > need them. also i didn't even mention that if you do use handles, you > can do direct method calls which are even better than indirect with > {}. indirect method calls are just fugly in perl and can cause problems > in some cases (not with print but with regular classes/methods. so it is > BEST to never even use them if you can help it. $fh->print works as long > as the handle is opened normally and you load the IO::Handle module (or > something similar). hell, i rarely use anything but write_file these > days so don't have to worry about it. > > >> and PBP isn't always right. it is meant as a list of interesting > >> suggestions to pick and choose from. read the intro to get that. also > >> note that i was one of the tech editors of that book. i know it > >> well. and i disagree with some of it too. damian is fine with that. :) > > PP> Where did I say PBP was always right? I just didn't want to let your > PP> style argument be the only one in this thread, since there are > clearly PP> people who disagree with you, too. TIMTOWTDI. > > i disagree with myself most of the time! i am my own stupid boss and > stupid worker. try that on for size! :) >
Can we please have a civil discussion without insulting the other party? For the record, I believe that in the context of writing to filehandles, PBP is right by saying that one should use << print {$fh} @strings; >> instead of << print $fh @strings; >> (without the curly braces), in order to prevent human and compiler errors. But naturally, this is very close to a bike shed colour argument: http://en.wikipedia.org/wiki/Parkinson%27s_Law_of_Triviality and either way can be understood by both the programmer and the compiler. Also see: http://community.livejournal.com/shlomif_tech/35842.html It's OK to comment on some sub-optimal code to correct it, but let's avoid descending into back-and-forth nitpicking or worse - insults. Friends, again? Regards, Shlomi Fish > uri -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ My Aphorisms - http://www.shlomifish.org/humour.html Deletionists delete Wikipedia articles that they consider lame. Chuck Norris deletes deletionists whom he considers lame. Please reply to list if it's a mailing list post - http://shlom.in/reply . -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/