use strict; my (@lines); while (defined($_ = <>) and $_ ne ".\n") { push @lines,$_; } foreach (reverse @lines) { print; }