my $data = $self->_loaded('data');
my $code = $self->_param_scalar('code');
- if ( $self->param('commit') ) {
+ $code =~ s{\n+$}{}s;
+
+ my $commit = $self->param('commit');
+ my $test = $self->param('test');
+ if ( $commit ) {
warn "# commit $code";
foreach ( 0 .. $#{ $data->{items} } ) {
my $rec = $data->{items}->[ $_ ];
eval $code;
}
- undef $code;
}
my $sorted_items;
my $id = $filtered->[$i];
my $rec = $data->{items}->[ $id ];
$rec->{_row_id} ||= $id;
- if ( $code ) {
+ if ( $code && $test ) {
$rec = Storable::dclone $rec;
eval $code;
if ( $@ ) {
warn "ERROR evaling\n$code\n$@";
- undef $code;
$self->stash('eval_error', $@) if $@;
} else {
warn "EVAL $code ",dump($rec);
</table>
<form id=eval method=post>
+% if ( my $error = stash('eval_error') ) {
+<div class=error><%= $error %></div>
+% }
% my $rows = scalar split(/\n/,$code);
-<textarea name=code rows=<%= $rows + 1 %>>
+<textarea name=code rows=<%= $rows %>>
<%= $code %>
</textarea>
<input name=test type=submit value="Test code">