$ cat t.pl use strict; use warnings; while () { my @f = split /\s+/,$_; $f[1] =~ s/foo/bar/g; print "result: $f[1]\n"; } __DATA__ Poor foolish kitty The empty line above this one might fool us. $ perl t.pl $ perl t.pl result: kitty Use of uninitialized value $f[1] in substitution (s///) at t.pl line 6, line 2. Use of uninitialized value $f[1] in concatenation (.) or string at t.pl line 7, line 2. result: result: barlish Use of uninitialized value $f[1] in substitution (s///) at t.pl line 6, line 4. Use of uninitialized value $f[1] in concatenation (.) or string at t.pl line 7, line 4. result: #### while () { next if /^\s*$/; # skip blank lines ... }