Looking specifically at this snippet: Is the "open" statement the very first line of your script? (In other words, is the output that you showed based on running a script that contained exactly those 6 lines of code and nothing else?) Of course, I expect that you would have at least assigned values to $put, $tip and $kriteriy. (But maybe these values are not what they should be in order for "find" to work the way you expect?)
In any case, I suspect that you didn't include the "binmode" statements that I recommended in my early reply -- or if you did, then your file names are not encoded the way you think they are.
Some other points:
- If you don't want any output to go to your terminal, then you should redirect STDOUT and STDERR to output files on the command line when you run your script.
- The output you showed did not come from the code you posted here. The best way to get help is to post a minimal BUT COMPLETE script, together with the output created BY THAT PARTICULAR complete script.
- There's nothing strange about "ZNAK" showing up first in the output, because that is the first thing to be printed by your code. The output of the "find" command is being treated as input to your script, which is read via the "$vrm" file handle.
As for using the "qx" operator, that's certainly an option (instead of using the pipeline "open") - you just have to make sure that you
Encode::decode the string returned by "qx", so that perl can treat it properly as utf8 data.