my $head = {data => 0, prev => undef, next => undef}; my $previous = $head; while (){ # ... same as in previous post } display($head); my $new_node = insert_after ($head, 0.5); $new_node = insert_before ($new_node->{next}, 0.7); display($head);