Consider another example : open( my $FILEHANDLE, '<', 'myfile.txt' ); $a=<$FILEHANDLE>; #<> returns just one line open( my $FILEHANDLE, '<', 'myfile.txt' ); @a=<$FILEHANDLE>; #<> returns the whole file contents the diamond operator returns different values depending on the context.