[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Pb Perl ? (fut: ddts-script_0.4.14.deb)



Je poste en publique car je voudrais l'avis des experts perl dans la salle...

Je pense que j'ai résolu mon probleme. Voici le diff:
--- /usr/bin/ddts-script	Sun Feb 10 18:38:52 2002
+++ /tmp/ddts-script	Sun Feb 10 20:45:07 2002
@@ -886,13 +886,13 @@
 		next unless (defined $filename);
 		next if ($filename =~ /^close-bug/);			# skip bug closure
 
-		0, until (<> =~ /^$/);
+		0, until (<> =~ /^\s*$/);
 		$filename =~ s/^new(\..*)?/new/;			# new\..* contains descriptions to translate
 		open  FILE, ">$temp_dir/ddts-$filename-$$"	|| die "Can't create temp file `ddts-$filename-$$': $!";
 		print FILE "begin-base64 400 $temp_dir/ddts-$filename-$$\n";
 		#print FILE $_ until (($_=<>) =~ /^$/);
 		while (<>) {
-			last if /^$/;
+			last if /^\s*$/;
 			print FILE $_;
 		}
 		print FILE "====";
----------------------------
L'histoire, c'est que $_ n'est pas chompé à cet endroit. Donc la ligne vide
vaut "\n". Donc, la correspondance ne se fait pas. Avec ce changement, j'ai
tout plein de messages de deboggage (je suis en debug=5), qui m'indique que
ca se passe bien.
Je pense que du coup, tu peux inverser le patch until -> while. Mon probleme
devait venir du fait que le until ne s'arretait pas sur la premiere ligne
vide, et continuait jusqu'a l'undef suivant...

La vraie question, c'est, pourquoi ca marchait jusque la...

mquinson@blaise:~$ dpkg -l perl\*|grep ii
ii  perl           5.6.1-7        Larry Wall's Practical Extraction and Report
ii  perl-5.6       6.3            Transitional package.
ii  perl-base      5.6.1-7        The Pathologically Eclectic Rubbish Lister.
ii  perl-doc       5.6.1-7        Perl documentation.
ii  perl-modules   5.6.1-7        Core Perl modules.
ii  perl-suid      5.6.1-7        Runs setuid Perl scripts.
ii  perlmagick     5.4.2.3-1      A perl interface to the libMagick graphics r

C'est peut etre la différence. Suis je le seul à tester le script sur une
instable fraiche ?

Les experts voient ils la un probleme connu de transition entre les versions
de perl ?

Merci, Mt.

On Sat, Feb 09, 2002 at 11:43:40PM +0100, Nicolas Bertolissio wrote:
> Bonjour,
> 
> Journal des modification :
> ddts-script (0.4.14) unstable; urgency=low

[...]

>   * turn `until' loop into `while'

[...]

> 
> Je ne comprends pas pourquoi la deuxième modification est nécessaire, il
> me semble que ça fait la même chose, si quelqu'un peut m'expliquer...

[...]

> --- ddts-script_0.4.13	Sat Feb  9 00:00:00 2002
> +++ ddts-script_0.4.14	Sat Feb  9 00:00:00 2002
> @@ -888,7 +890,11 @@
>  		$filename =~ s/^new(\..*)?/new/;			# new\..* contains descriptions to translate
>  		open  FILE, ">$temp_dir/ddts-$filename-$$"	|| die "Can't create temp file `ddts-$filename-$$': $!";
>  		print FILE "begin-base64 400 $temp_dir/ddts-$filename-$$\n";
> -		print FILE $_ until (($_=<>) =~ /^$/);
> +		#print FILE $_ until (($_=<>) =~ /^$/);
> +		while (<>) {
> +			last if /^$/;
> +			print FILE $_;
> +		}
>  		print FILE "====";
>  		close FILE					|| die "Can't write temp file `ddts-$filename-$$': $!";
>  


-- 
Si les grands esprits se rencontrent, les petits esprits, eux, se cognent.



Reply to: