in reply to ANDs and ORs

You'll have a problem is $filename is initially zero, undefined or otherwise false. Fix:

($filename++, rename(...) && Logging(...)) || Logging(...);

or

do { $filename++; rename(...) && Logging(...) } || Logging(...);

or

(++$filename && rename(...) && Logging(...)) || Logging(...);

I hope you're using that style because it's a one liner, because it's ugly (i.e. unreadable and unmaintainable)!