/usr/share/perl5/DBIx/DataSource/mysql.pm is in libdbix-datasource-perl 0.02-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | package DBIx::DataSource::mysql;
use strict;
use vars qw($VERSION @ISA);
use DBIx::DataSource::Driver;
@ISA = qw( DBIx::DataSource::Driver );
$VERSION = '0.01';
=head1 NAME
DBIx::DataSource::mysql - MySQL driver for DBIx::DataSource
=head1 SYNOPSIS
use DBIx::DataSource;
use DBIx::DataSource qw( create_database drop_database );
create_database( "dbi:mysql:$database", $username, $password )
or warn $DBIx::DataSource::errstr;
create_database( "dbi:mysql:database=$database;host=$hostname;port=$port",
$username, $password )
or warn $DBIx::DataSource::errstr;
drop_database( "dbi:mysql:$database", $username, $password )
or warn $DBIx::DataSource::errstr;
drop_database( "dbi:mysql:database=$database;host=$hostname;port=$port",
$username, $password )
or warn $DBIx::DataSource::errstr;
=head1 DESCRIPTION
This is the MySQL driver for DBIx::DataSource.
=cut
sub parse_dsn {
my( $class, $action, $dsn ) = @_;
$dsn =~ s/^(dbi:(\w*?)(?:\((.*?)\))?:)//i #nicked from DBI->connect
or '' =~ /()/; # ensure $1 etc are empty if match fails
my $prefix = $1 or die "can't parse data source: $dsn";
my $database;
if ( $dsn =~ s/(^|[;:])(db|dbname|database)=([^=:;]+)([;:]|$)/$1$2=$4/ ) {
$database = $3;
} else {
$database = $dsn;
$dsn = '';
}
( "$prefix$dsn", "\U$action\E DATABASE $database" );
}
=head1 AUTHOR
Ivan Kohler <ivan-dbix-datasource@420.am>
=head1 COPYRIGHT
Copyright (c) 2000 Ivan Kohler
Copyright (c) 2000 Mail Abuse Prevention System LLC
All rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
=head1 BUGS
=head1 SEE ALSO
L<DBIx::DataSource::Driver>, L<DBIx::DataSource>, L<DBD::mysql>, L<DBI>
=cut
1;
|