the third part of the Perl's C style for loop is a statement on it's own: ie ++$var; or $var++; are identical.
Yes, that's correct*, when they're written standalone as in for(;;$var++). ++$var vs. $var++ only makes a difference when its return value is used: ++$var will first increment the variable and then return the new value, while $var++ will return the old value and then increment the variable.
$ perl -le 'for ( my $x=0; $x<3; print $x++ ) { }'
0
1
2
$ perl -le 'for ( my $x=0; $x<3; print ++$x ) { }'
1
2
3
* Update: In fact, note what Perl does here (edited for brevity):
$ perl -MO=Deparse -e 'for ( my $x=0; $x<3; print $x++ ) { }'
for (my $x = 0; $x < 3; print $x++) { (); }
$ perl -MO=Deparse -e 'for ( my $x=0; $x<3; print ++$x ) { }'
for (my $x = 0; $x < 3; print ++$x) { (); }
$ perl -MO=Deparse -e 'for ( my $x=0; $x<3; ++$x ) { }'
for (my $x = 0; $x < 3; ++$x) { (); }
$ perl -MO=Deparse -e 'for ( my $x=0; $x<3; $x++ ) { }'
for (my $x = 0; $x < 3; ++$x) { (); }