in reply to push, assign or split a file?
First let me show some benchmarks that demonstrate that it really is faster to use the while statement in place of a simple assignment.
Your spurious Data::Dumper calls in three of the four subs ruin the benchmark.
In Section
Seekers of Perl Wisdom