in reply to Putting text file into a hash
use English '-no_match_vars'; open $input_fh, '<', $input_fn or die 'Could not open file: ', $OS_ERR +OR; my $hash; while ( my $line = <$input_fh> ) { chomp $line; last if ! $line; # Split line with a limit of two my ( $word1 , $word2 ) = split /:/, $line, 2; $hash->{$word1} = $word2; } close $input_fh or die 'Could not close file: $OS_ERROR';
Then you can even pass it via subroutines to assign handles:my $output = *STDOUT;
Update: Just seen ikegami has already got there with this, But oh well. note: $OS_ERROR is the same as the $! that he mentioned.## This in a package else where ## 'inside-out obj' sub assign_log_handle { my $self = shift; $log_handle->{$self} = shift; return; } ## From main code Your::Package->assign_log_handle( *STDERR );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Putting text file into a hash
by linuxer (Curate) on Oct 18, 2008 at 14:21 UTC | |
by binf-jw (Monk) on Oct 23, 2008 at 14:04 UTC |