Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Non-destructive array processing

by runrig (Abbot)
on Jan 20, 2003 at 23:34 UTC ( #228523=note: print w/ replies, xml ) Need Help??

in reply to Non-destructive array processing

Nice trick. I like it as a sort of answer to LISP-like linked lists without having to resort to 2-element array references:

my @array = qw(a b c d); my $r = sub { \@_ }->(@array); my $a = cdr($r); print "arr: @array\n"; print "a: @$a\n"; print "r: @$r\n"; $array[2]="hello"; print "arr: @array\n"; print "a: @$a\n"; print "r: @$r\n"; sub cdr { my $r = shift; my $a = sub { \@_ }->(@$r); shift @$a; $a; }

Comment on Re: Non-destructive array processing
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (12)
As of 2015-07-29 21:25 GMT
Find Nodes?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...

    Results (269 votes), past polls