Gary wrote:
> I hope this is the right place to ask this question.
> 
> So I've seen code like this
> 
> for (1..10) {
>     print $_
> }
> 
> 
> What's going on behind the scenes with that?

In modern versions of Perl that is equivalent to:

for ( $_ = 1; $_ >= 10; ++$_ ) {
    print $_
}

In older versions of Perl that would create the list in memory first before it
iterated over it.


> Is it creating an array?

No.

perldoc -q "What is the difference between a list and an array"


> What if I want to use
> 
> for (1..1000000) ?
> 
> Also, What's the internal structure of Perl arrays?

perldoc perl

[ snip ]

    Internals and C Language Interface

        perlembed           Perl ways to embed perl in your C or C++
                            application
        perldebguts         Perl debugging guts and tips
        perlxstut           Perl XS tutorial
        perlxs              Perl XS application programming interface
        perlclib            Internal replacements for standard C library
                            functions
        perlguts            Perl internal functions for those doing extensions
        perlcall            Perl calling conventions from C

        perlapi             Perl API listing (autogenerated)
        perlintern          Perl internal functions (autogenerated)
        perliol             C API for Perl's implementation of IO in Layers
        perlapio            Perl internal IO abstraction interface

        perlhack            Perl hackers guide


Also have a look at all the B::* and Devel::* modules.


> I can't find anything on that.
> I'm curious about how much time it takes to do something like insert into the
> middle ofan array. Is that O(1)?

Yes.

$ perl -le'
my @array = 0 .. 20;
print "@array";
splice @array, 10, 0, "X", "Y", "Z";
print "@array";
'
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0 1 2 3 4 5 6 7 8 9 X Y Z 10 11 12 13 14 15 16 17 18 19 20




John
-- 
Perl isn't a toolbox, but a small machine shop where you can special-order
certain sorts of tools at low cost and in short order.       -- Larry Wall

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to