A Database Example 

my $attr = { AutoCommit => 0, RaiseError => 1, PrintError => 0 };
my $dsn  = 'dbi:Pg:dbname=products';

sub get_categories_by_mgr {
    my($prod_mgr_id) = @_;

    my $dbh = DBI->connect($dsn, $user, $pswd, $attr);
    my $sql = 'SELECT * FROM prod_category WHERE prod_mgr_id = ?';
    my $sth = $dbh->prepare($sql);
    $sth->execute($prod_mgr_id);

    my @categories;
    while(my $row = $sth->fetchrow_arrayref) {
        push @categories, $row;
    }

    $dbh->disconnect;

    return \@categories;
}