#!/usr/bin/perl -w use strict; open my $fh, '<', 'details.txt' or die $!; my $read_lines; while( my @details = ($read_lines = sub { my $amnt = shift; return unless defined(my $line = <$fh>); return ( $line, $amnt > 1 ? $read_lines->($amnt - 1) : () ); })->(4) ) { print @details, "\n"; }