The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!./perl

# $RCSfile: sprintf.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:27 $

print "1..4\n";

$^W = 1;
$SIG{__WARN__} = sub {
    if ($_[0] =~ /^Invalid conversion/) {
	$w++;
    } else {
	warn @_;
    }
};

$w = 0;
$x = sprintf("%3s %-4s%%foo %5d%c%3.1f","hi",123,456,65,3.0999);
if ($x eq ' hi 123 %foo   456A3.1' && $w == 0) {
    print "ok 1\n";
} else {
    print "not ok 1 '$x'\n";
}

for $i (2 .. 4) {
    $f = ('%6 .6s', '%6. 6s', '%6.6 s')[$i - 2];
    $w = 0;
    $x = sprintf($f, '');
    if ($x eq $f && $w == 1) {
	print "ok $i\n";
    } else {
	print "not ok $i '$x' '$f' '$w'\n";
    }
}