in reply to Using UNIX commands inside Perl scripts, with Perl variables

Your backticks are just fine. The problem is that you're running with warnings turned on and you haven't defined the variable $a_log anywhere.

When you get error messages you don't understand, a good place to read up on them is perldoc perldiag, or better yet, run your script with use diagnostics; near the top.

Oh yes, and read up on scoping (see Dominus' home node for a great link), and add use strict; and declare your variables using my, our (Perl 5.6.0+) or use vars qw($var $names). You'll thank yourself for it later.

Update oh duh. The other replies figured out that you're trying to use $a as the variable and append "_log.txt" to the end of it. You could very well be running under use strict because $a is a special global variable. I'd suggest using something more descriptive anyway, but note that $a and $b have a special meaning in Perl. Ref: perlfunc:sort

perl -e 'print "How sweet does a rose smell? "; chomp ($n = <STDIN>); +$rose = "smells sweet to degree $n"; *other_name = *rose; print "$oth +er_name\n"'