Similiar to $ = scalar, @ = array, % = hash and & = code, there is a -what's-the-word- for symbol table entries and file handles: *.
print("1\n");
open(HANDLE, '<', 'lines.txt') or die("!1\n");
print(scalar(<HANDLE>));
close(HANDLE);
print("\n");
print("2\n");
$h = *HANDLE;
open($h, '<', 'lines.txt') or die("!2\n");
print(scalar(<HANDLE>));
print(scalar(<$h>));
close($h);
print("\n");
print("3\n");
$h = \*HANDLE;
open($h, '<', 'lines.txt') or die("!3\n");
print(scalar(<HANDLE>));
print(scalar(<$h>));
close($h);
print("\n");
|