
On Tue, Sep 02, 2008 at 09:43:44PM +0200, Daniel Caillibaud wrote:
Le 02/09/08 à 17:38, Stephane Jourdois <kwisatz-shell@rubis.org> a écrit :
On Mon, Sep 01, 2008 at 03:06:53AM +0200, Daniel Caillibaud wrote: PS : Le script modifié utilisé (j'ai pas de CREATE DATABASE dans mes dump donc j'ai viré les ref à $db, ajouté un ; manquant et viré la ligne close qui lui plaisait pas)
#!/usr/bin/perl use strict; use warnings;
my $table = undef; # Current table name my $fh = undef; # Current filehandle
while (<>) { if (/^DROP TABLE IF EXISTS `([^`]+)`/) { $table = $1; open $fh, '>', "perl_$table.sql"; }
if ($table) { print $fh $_ if $fh; } } close $fh; -----
Bon mis à part que tout ça ne sert à rien avec la bonne option de mysqldump, j'ai oublié de préciser comment invoquer ce script, dont tu peux profiter pour virer le dernier close qui ne sert à rien non plus : mysqldump db | perl lescript.pl mysqldump db >file; perl lescript.pl file ou plus élégant étant donné qu'on est tout de même sur shell@asyd.net : perl lescript.pl <(mysqldump db) (et tout ça pour rien ;-) ++ PS: (je suppose que le close ne lui plaisait pas parce qu'il n'y avait pas de parenthèses, ptet que "close($fh) if $fh;" lui plaît plus. -- /// Stephane Jourdois /"\ ASCII RIBBON CAMPAIGN \\\ ((( Consultant securite \ / AGAINST HTML MAIL ))) \\\ 157 Bd Davout X /// \\\ 75020 Paris / \ +33 6 8643 3085 ///