## ## make_node() ## Arguments: $value: scalar, contents of the node ## $next_node: linked list node (optional) ## sub new_node { my ($value, $next_node) = @_; my $new_node = [$value, $next_node]; return $new_node; } #### $last_node = new_node('last', undef); $middle_node = new_node('middle', $last_node); $first_node = new_node('first', $middle_node); #### sub traverse_nodes { my ($node) = @_; my ($value, $next_node) = @$node; if ( defined($next_node) ) { return ($value, traverse_nodes($next_node)); } else { return $value; } } #### print join(' ', traverse_nodes($first_node) ), "\n";