1 |
dpavlin |
5 |
#!/usr/bin/perl |
2 |
|
|
|
3 |
|
|
use warnings; |
4 |
|
|
use strict; |
5 |
|
|
|
6 |
|
|
use DBI; |
7 |
|
|
use Data::Dump qw/dump/; |
8 |
|
|
|
9 |
|
|
my $dsn = 'DBI:Pg:dbname=blogs'; |
10 |
|
|
my $sql = 'select * from mt_entry'; |
11 |
|
|
|
12 |
|
|
$dsn = 'DBI:mysql:dbname=reblog'; |
13 |
|
|
$sql = qq{ |
14 |
|
|
select title,link as url, xml as body,unix_timestamp(timestamp) as mtime from items |
15 |
|
|
}; |
16 |
|
|
|
17 |
|
|
warn "# dsn = $dsn"; |
18 |
|
|
my $dbh = DBI->connect( $dsn, '', '', { RaiseError => 1 } ) || die $DBI::errstr; |
19 |
|
|
#$dbh->do( qq{ set client_encoding='utf-8' } ); |
20 |
|
|
|
21 |
|
|
warn "# sql $sql"; |
22 |
|
|
my $sth = $dbh->prepare( $sql ); |
23 |
|
|
$sth->execute(); |
24 |
|
|
|
25 |
|
|
my $i = 1; |
26 |
|
|
|
27 |
|
|
while ( my $row = $sth->fetchrow_hashref ) { |
28 |
|
|
|
29 |
|
|
# warn "# row = ",dump( $row ); |
30 |
|
|
|
31 |
|
|
my $rec = $i++; |
32 |
|
|
foreach ( keys %$row ) { |
33 |
|
|
my $d = $row->{$_}; |
34 |
|
|
next unless defined $d; |
35 |
|
|
|
36 |
|
|
$d =~ s{</?\w+>}{ }gs; |
37 |
|
|
$d =~ s/\s+/ /gs; |
38 |
|
|
|
39 |
|
|
$rec .= "\t$_\t$d"; |
40 |
|
|
|
41 |
|
|
} |
42 |
|
|
|
43 |
|
|
print "$rec\n"; |
44 |
|
|
} |