Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: scoping problems

by naturalsciences (Beadle)
on Jun 03, 2013 at 11:30 UTC ( #1036725=note: print w/ replies, xml ) Need Help??


in reply to Re: scoping problems
in thread scoping problems

OK. Thanks for pointing out the $saba and @saba not being related. It is probably bug out of convenience - I seem to have used an array in scalar context easily getting an array length but it seems that a shorthand like this cant travel well around different loops etc.? I did put

for(my $i=0;$i<@saba;++$i) {my $sabasize=scalar(@saba);

on the top of the for loop and it seems to be almost getting somewhere from there. :D so it seems to be that you led me to a better path here.


Comment on Re^2: scoping problems
Download Code
Re^3: scoping problems
by hdb (Prior) on Jun 03, 2013 at 11:33 UTC

    If you use @saba, not $saba, in scalar context, you get the arraysize indeed. This is why your $i<@saba works.

Re^3: scoping problems
by AnomalousMonk (Abbot) on Jun 03, 2013 at 14:47 UTC

    Further to hdb's reply:

    ... it seems that a shorthand like [evaluating an array in scalar context] cant travel well around different loops etc.?

    It travels perfectly well. hdb and others have already pointed out that  @saba and  $saba are quite different things and are in no way inherently related.

    What may be confusing you is the fact that an element of the  @array array is accessed by the syntax  $array[n] (note the  $ sigil). The logic of this, determined by Larry at the Dawn of Time (Perl version 1.0), is that the elements of arrays (and also of hashes – associative arrays) are always and only scalars. But you always have to distinguish between an array, which contains (like a hash) a certain number of elements and thus has, among other properties, a size, and an element of an array.

      The logic of this, determined by Larry at the Dawn of Time (Perl version 1.0), is that the elements of arrays (and also of hashes associative arrays) are always and only scalars.

      Interestingly, this logic (which sounds perfectly sane to me) has been abandoned in Perl 6. I don't understand why.

      -- FloydATC

      Time flies when you don't know what you're doing

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2014-12-20 13:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (95 votes), past polls