Ok this goes somehow in the direction of code generation like Smart::Comments with the difference that you can still safely use it in production code.
But then I would rather prefer to insert an eval-macro solution giving me the opportunity to change details dynamically at central place:
#!/usr/bin/perl
my @bla=(0..9);
sub dmp_macro {
my $var=shift;
(my $var2=$var) =~ tr/@%$//d;
use Data::Dumper;
return "print Data::Dumper->Dump([\\$var],['\*$var2'])"
}
print dmp_macro('@bla'),"\n"x3;
eval (dmp_macro qw/@bla/);
output:
print Data::Dumper->Dump([\@bla],['*bla'])
@bla = (
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
);
(OK I admit, it's not only lisp-ish, it's even uglier ;-)
|