PrusaSlicer-NonPlainar/post-processing/z-every-line.pl
2011-12-11 08:27:16 +11:00

24 lines
544 B
Perl
Executable File

#!/usr/bin/perl
use strict;
my $z = 0;
# read stdin and any/all files passed as parameters one line at a time
for (<>) {
# if we find a Z word, save it
$z = $1 if /Z(\d+(\.\d+)?)/;
# if we don't have Z, but we do have X and Y
if (!/Z/ && /X/ && /Y/ && $z > 0) {
# chop off the end of the line (incl. comments), saving chopped section in $1
s/\s*([\r\n\;\(].*)//s;
# print start of line, insert our Z value then re-add the chopped end of line
print "$_ Z$z $1";
}
else {
# nothing interesting, print line as-is
print;
}
}