This might work - and more clearer to understand ( UNTESTED )
#!/usr/bin/perl
# Standard stuff to catch errors
use strict qw(subs vars refs); # Make sure we can't mess up
use warnings qw(all); # Enable warnings to catch errors
# Other Stuff
use SDBM_File;
use POSIX;
sub database {
my ($pseudo) = @_;
# Declare our variables
my %dbm;
my $db_file = "CTIC.dbm";
# Tie the dbm with the file, opening it read-only
tie %dbm, 'SDBM_File', $db_file, O_RDWR, 0;
# Get the list
my @list = split( "__", $dbm{ $pseudo } );
# Get rid of the dbm
untie %dbm;
# Add the count to the end of the list
push( @list, scalar( @list ) );
# Return the list
return @list;
}
|