Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Reading a hash structure stored in a file

by BillKSmith (Monsignor)
on Jan 15, 2019 at 21:27 UTC ( [id://1228623]=note: print w/replies, xml ) Need Help??


in reply to Reading a hash structure stored in a file

You have several errors.
  • You must read the file (not just open it). Use <$fh>.
  • You must slurp the entire file (not just read the first record). Use undef $/.
  • You must not declare %hash1 as a lexical variable within the eval. (The eval string is treated as a block)
  • Under strict, you must declare %hash1 in your program.
  • #tiny.pl #!/home/utils/perl5/perlbrew/perls/5.24.2-021/bin/perl use strict; use warnings; use Path::Tiny qw( path ); use Data::Dumper; #my $file = 'file.pl'; my $file = \<<'file_end'; # Simulate disc file for post %hash1 = (hello => 1, hi =>2 ); file_end my %hash1; open(my $fh, '<', $file) or die "Could not open file $file"; local undef $/; eval( <$fh> ); close $fh; print Dumper(\%hash1); >perl tiny.pl $VAR1 = { 'hi' => 2, 'hello' => 1 };
    Bill

    Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Domain Nodelet?
    Node Status?
    node history
    Node Type: note [id://1228623]
    help
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this?Last hourOther CB clients
    Other Users?
    Others studying the Monastery: (4)
    As of 2024-03-29 12:21 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found