The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package RandomList;

sub new {
    my ( $class, @items ) = @_;
    return bless( \@items, $class );
}

sub random {
    my ($self) = @_;
    return @$self ? $self->[ rand(@$self) ] : undef;
}

1;