Alright, now I get what you're trying to do. Your original post didn't quite make clear that the text was to be replaced everywhere in the file. Try this (formatted for Win32): perl -i~ -pe "if($ARGV ne $z){$f=$z=$ARGV;$f=~s/\.wra//;/(.{10})$/; $r
+=$1} s/$r/$f/g" *.wra
Of course, at this point the solution stops looking elegant and cool (not that it ever really did), and there are too many one-letter variables. My recommendation is to invest some time in studying Perl and create a real script to do your modifications.
The one-liner may be cute and good for obfuscation value, but if you aren't sure what it's doing, it shouldn't go into production/be handed in for your assignment, etc. By the way, this time it's a one, not an el. |