Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Closures clarification

by fenLisesi (Priest)
on Dec 04, 2007 at 13:00 UTC ( #654769=note: print w/replies, xml ) Need Help??

in reply to Closures clarification

I don't even get the first one:
this is a definite closure
my $total_size =0; find{ sub $total_size += -s if -f}, '.'); print $total_size, "\n";
What are you trying to do there?

Replies are listed 'Best First'.
Re^2: Closures clarification
by fenLisesi (Priest) on Dec 04, 2007 at 13:19 UTC

    Studying the examples in a good book is a great way to learn, but you need to run the examples and play with them a little. I don't have that book, but it is unlikely that the code you posted would come from there. Why don't you go ahead now and run that code first and tell us how you think it works (or doesn't)? Then monks will be able discuss it with you. Cheers.

      I really dislike downvoting (which I just did) on nodes expressing opinion; the more so, in this case, because all but fenLisesi's second sentence have merit (IMO). My error!

      Update: The above was well intentioned, but bleary-eyed /me carelessly missed the typo in prop's OP, in which

      find{ sub $total_size += -s if -f}, '.');
          should be
      find (sub { $total_size += -s if -f}, '.');.

      mea culpa and apologies.

      But sentence 2 amount to a direct and gratuitous negative implication about props' integrity (or, I suppose, ability to copy code from a book)... and it is wrong.

      The intial code fragment comes from p71 of Intermediate Perl, 2nd edition. It is verbatim, save for the book's inclusion of a use File::Find above. And it's available, on line, for your ease of checking these assertions, at (more precisely, and as a link, 7.4 . Closures)


        I was trying to lead him to try to run the code he posted, be puzzled and hopefully learn while trying to fix it. I assure you that I intended no negative sense at all.

        I don't mind the downvote and your feedback is very valuable to me; thank you.

        props (and the rest of the monks): I am sorry if the post raised such a negative feeling with you, too.


Re^2: Closures clarification
by props (Hermit) on Dec 04, 2007 at 13:13 UTC
    This is an example from "Intermediate Perl" aims to demonstrate the presence of a closure
      It is a closure, you want to pass in a bit of code into a function(perldoc -q closure)

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://654769]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2021-12-07 10:10 GMT
Find Nodes?
    Voting Booth?
    R or B?

    Results (33 votes). Check out past polls.