http://qs321.pair.com?node_id=1068376


in reply to Hash Uninitialized Values Error

FWIW, the DECISION heredoc wasn't printing out. I believe that it has something to do with heredocs needing to be flush with the left margin. As a quick workaround, I used Filter::Indent::HereDoc. Here's a simplified example:
#!/usr/bin/perl use strict; use warnings; use Filter::Indent::HereDoc; DECISION: { { print <<EOF; Hi. This is the Lee-Hardy Conclusion Calculator. Given a series of statements using the syntax 'p -> q', I will deduce the correct conclusion to be made using basic logic and the chain rule. Type 'ready' when you are ready to input your statements. Type 'quit' to exit the LHCC. EOF } }

Replies are listed 'Best First'.
Re^2: Hash Uninitialized Values Error
by GrandFather (Saint) on Dec 26, 2013 at 01:43 UTC

    DECISION: is a statement label. There are multiple places where goto is used to go to the label. Misguided programming style I know, but allowed.

    True laziness is hard work
Re^2: Hash Uninitialized Values Error
by Anonymous Monk on Dec 26, 2013 at 00:01 UTC
    There is no DECISION heredoc, the OP doesn't need a source filter to solve a nonexistent problem
      It would not print on my system. There is a problem there. You're full of it.

        It would not print on my system. There is a problem there. You're full of it.

        Like the OP says, the code as posted doesn't call the subroutiine, so of course it won't print anything

        Also, the code contains no heredocs of any kind, the OP is merrily using quotes to successfully print the text he wants to print

        so misidentifying a loop label as heredocs, then telling the OP to switch to a source filter for heredocs, is just more of the same non responsive nonsense trolling by you Khen1950fx ...

        Nothing probably prints because it's a subroutine. I have a .pl file that calls Unit3::LHCC because it's in a file called Unit3.pm. That's not the problem.