#!/usr/bin/perl use strict; use warnings; use LinkedList::Single; sub format_node_data { my ($id, $name) = @{$_[0]}; "[id:$id, name:$name]"; } sub LinkedList::Single::print { my $list = (shift)->clone; for ($list->head; $list->has_next; $list->next) { print format_node_data($list->node_data), " -> "; } print format_node_data($list->node_data), "\n"; } my $list = LinkedList::Single->new([1, 'foo'], [2, 'bar'], [3, 'baz']); $list->print; __DATA__ [id:1, name:foo] -> [id:2, name:bar] -> [id:3, name:baz]