last unless ($curr->{next} == $head);
####
use strict;
use warnings;
use Data::Dump;
{
package Node;
sub new
{
my ($class, $value, $next) = @_;
my $self =
{
data => $value,
next => $next,
};
return bless $self, $class;
}
}
my $head = Node->new(2, undef);
my $last = $head;
$last = Node->new($_, $last) for reverse (4, 5, 4, 6, 2, 7, 8);
$head->{next} = $last;
my @elements;
my $curr = $head;
while (1)
{
print "data : $curr->{data}\n";
push @elements, $curr->{data};
last if ($curr->{next} == $head);
$curr = $curr->{next};
}
dd \@elements;
####
13:27 >perl 1535_SoPW.pl
data : 2
data : 4
data : 5
data : 4
data : 6
data : 2
data : 7
data : 8
[2, 4, 5, 4, 6, 2, 7, 8]
13:27 >