in reply to split giving warning

You've already got the answers as to what the problem is. Here's another solution that doesn't require a temporary named array:

$schds{ lc( ( split( /\s+/, $_ ) )[0] ) } = 1 while <MILF>;

With this snippet, split within the parenthesis provides a list that you can index into with a subscript (in this case, [0]. Then the first element is passed into lc, whos return value is used as the hash key for the hash named %schds.


Dave