If you put some delimiters around each field's format specification, you'll be able to see more clearly the leading and trailing spaces between the fields. Based on that info, you should be able to see what adjustments you need to make.
See if this adjustment makes it more clear.
Code:
printf ("<%-8s> <%13.0f> <%-38s>\n", $original_line, $result, $user_folders);
You haven't clearly stated how the columns should line up, but Here's my test script which I think gives the output you desire.
Code:
#!/usr/bin/perl
use strict;
use warnings;
print <<'HEADER';
----------------------------------------------------------------------------------------------------------
domain\username full name last access date last access (days) folder access
----------------------------------------------------------------------------------------------------------
HEADER
my $original_line = 'test\JOHN123 John Campbell Fri 10-19-2012';
my $result = 59;
my $user_folders = 'EDITOR';
printf ("%-67s %-22.0f %-14s\n", $original_line, $result, $user_folders);
Outputs:
Code:
----------------------------------------------------------------------------------------------------------
domain\username full name last access date last access (days) folder access
----------------------------------------------------------------------------------------------------------
test\JOHN123 John Campbell Fri 10-19-2012 59 EDITOR