in reply to Reading from a file

The problem is that print is defined as print LIST (type perldoc -f print to see it) and therefore interprets <file1> not as a scalar, but an array whose contents are joined as they are printed. Because you can read files only sequentially, you are now at the end of the file and there is no more data. Workarounds:
open(FILE, '<', 'sample.txt') or die "Could not open 'sample.txt' for +input: $!\n"; print scalar(<FILE>); # print ONE LINE from the file $line2 = <FILE>; # get ONE LINE from the file close FILE; print $line2; ### OR, alternatively open(FILE, '<', 'sample.txt') or die "Could not open 'sample.txt' for +input: $!\n"; print <FILE>; # print WHOLE FILE seek FILE, 0, 0; # go to beginning of file $line1 = <FILE>; # get ONE LINE from the file close FILE; print $line1;
One tip: Always catch return values of system functions (such as open) or your program will do things that you don't want it to.
Cheers, CombatSquirrel.
Entropy is the tendency of everything going to hell.