has '_print' => ( is => 'ro', default => sub { Slic3r::Print->new }, handles => [qw(apply_config extruders expanded_output_filepath total_used_filament total_extruded_volume placeholder_parser process)], ); #### sub new { # TODO: port PlaceholderParser methods to C++, then its own constructor # can call them and no need for this new() method at all my ($class) = @_; my $self = $class->_new; $self->placeholder_parser->apply_env_variables; $self->placeholder_parser->update_timestamp; return $self; }