I tested this on my WinXP 32 bit machine. It works fine. Something is wrong with your command line, what I don't know. But there is no fundamental need to escape the " characters. A side effect of a Windoze command line could be true.
#!/usr/bin/perl
use warnings;
use strict;
my %accounts = (
tom => "BigApple",
tom2 => "BigApple2",
tom3 => "BigApple3",
tom4 => "BigApple4",
tom5 => "BigApple5",
tom6 => "BigApple6",
tom7 => "BigApple7",
);
# sort the users in descending order
my $counter = 1;
for my $userID (reverse sort keys %accounts) {
print "$userID\t";
print "\n" if $counter++ % 3 == 0;
}
__END__
Prints:
tom7 tom6 tom5
tom4 tom3 tom2
tom
|