First off, this is my first post to this list, so hello everyone.  I am
pretty new to Perl, and to programming in general, but I hope I can be of
help to some of you in the future.  Right now, though, I am pretty confused
because one of my programs is not working the way I expect it to, and I
can't find the error.

I am using Learning Perl (the llama book) to familiarize myself with the
language, and I haven't had any problems up til now, but while doing the
exercises in chapter 9, I ran into a problem.  The fourth exercise asks you
to write a program that goes through all of your previous programs and adds
a copyright line after the #! line.  The original files are supposed to be
backed up in the process.  I wrote something that I thought would work, but
it backed up the file and then blanked the new file (or never put anything
in it, at any rate).  Frustrated, I looked in the back of the book and
tailored my code to match the example code given.  The program still behaves
the same way.  If it is relevant, I am using ActivePerl 5.8.8 Build 820 on
Windows XP SP2.  The source code is below.  Can someone with a more honed
eye for this code tell me what I am doing wrong?

#!perl -w
use strict;

$^I = ".bak";
while (<>) {
   if ( /^#!/ ) {
       $_ .= "## Copyright (C) 2007 by Kent Frazier.\n";
       }
   }

Hope this doesn't end up being something too newbish, and thanks in advance
for all your help.

Kent

Reply via email to