my $comp_class = "${prefix}::${comp}";
eval "use $comp_class"; # If it fails, assume the user fixed it
if ($@) {
- die $@ unless $@ =~ /Can't locate/;
+ $comp_class =~ s/::/\//g;
+ die $@ unless $@ =~ /Can't locate.+$comp_class\.pm\sin\s\@INC/;
+ warn $@ if $@;
}
push(@to_register, [ $comp, $comp_class ]);
}
=head2 txn_do
-=head3 Arguments: <coderef>, [@coderef_args]
+=head3 Arguments: <$coderef>, [@coderef_args]
-Executes <coderef> with (optional) arguments <@coderef_args> transactionally,
-returning its result (if any). If an exception is caught, a rollback is issued
-and the exception is rethrown. If the rollback fails, (i.e. throws an
-exception) an exception is thrown that includes a "Rollback failed" message.
+Executes C<$coderef> with (optional) arguments C<@coderef_args>
+transactionally, returning its result (if any). If an exception is
+caught, a rollback is issued and the exception is rethrown. If the
+rollback fails, (i.e. throws an exception) an exception is thrown that
+includes a "Rollback failed" message.
For example,
}
}
-Nested transactions should work as expected (i.e. only the outermost
+Nested transactions work as expected (i.e. only the outermost
transaction will issue a txn_commit on the Schema's storage)
=cut