in reply to Re: Use of a global scalar
in thread Use of a global scalar

You're also re-declaring $text inside your while loop each time and then matching it, which doesn't make sense, and should result in a "Use of uninitialized value in substitution" warning.
This is not true. An our-variable is declared only for the current block, but it's the same variable every time you declare it. The following code works fine:
use strict; use warnings; { our $text = 'test'; } { our $text =~ s/t/T/; } { print our $text; # "Test" }
However I can't tell why Grey Fox's code doesn't work. He should have provided the input files.