Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

OK. Your suggestion on the font sizes worked correctly. Many thanks. If it moves you, I would like to know your thought process to make that suggestion.

Glad it helped

Well, I read what you tried, I read the documentation, and compared what you tried to my understanding of the docs (including html), and I examined what the values of the constants were

Basically , you verify everything starting with the problem-causing-line until you encounter a difference between what you think should happen and what you observe to happen -- usually these revelations are loud AHA!-types with a solution, or so confusing that you're forced to put-aside what you're working on and start a new file to create the smallest possible example that replicates the problem

Its a lot like debugging CGI scripts or any kind of program, you need a mental model of how its supposed to work (Cwd, STDIN/STDERR/STDOUT/@ARGV/%ENV), what is special about perl ( PERLLIB/PERL5LIB/PERL5OPTS, perlvar, @INC ), what is special about CGI (Server error, see CGI Help Guide , Troubleshooting Perl CGI scripts)

You know input comes on STDIN, output goes on STDOUT, and if things stop making sense and you haven't been able to force an error message, you start making your own error message (turn on debugging/logging, add print statement), you start verifying that STDIN contains the input that is supposed to be there, that pwd/cwd is what you think it should be, and %ENV, and @ARGV ... and @_ are what the function takes

You always start with the big picture, an overview(like wxWidgets overviews), a bird's eye view of how something is supposed to work ( like HTTP ), then look at some simple examples, then bigger examples, until the big idea is firmly planted in your headn. Then write lots of little programs to explore/test/verify how each part is supposed to and does work.

Then when debugging a real program, you have a built-in debugging checklist to verify against. If you're well designed libraries (Dancer/Catalyst...) they'll do a lot of the checking for you, make errors obvious, but you'll be lost without a mental model (aka "domain" or metaphor) , error messages won't make sense, and programmers need a few just to get started (stdin, args, return values, exit codes, files and folders/directories ...)

Its a lot like being a car mechanic or an animal tracker, you start with a model/behaviour of a car/animal, you look to see what tracks/diagnostics you're getting, you ask yourself, if I were fuel/camel and I were leaking/thirsty, which way would I turn? And then turn left/replace leaky carburetor :) How Non-scientists use the Scientific Method

a lot more links on this type of thing and related things and examples if you've got time and need some perspectives and perspectives

Also known as teddy bear debugging , mirror debugging, empty room debugging, talking to yourself, Rubber Duck method of debugging, say it out loud George, sing into that hairbrush ... Re^3: Move along, nothing to see here . . ., Re: On Answering Questions

Re^2: Perl Module Not Working In Crontab, Re^4: Cron revisited, brian's Guide to Solving Any Perl Problem, on learning CGI learn about the internet,Web Programming: For Beginners, to get an overall picture of how the internet works, how tcp/ip, sockets, html, ajax, all fit together.
Re^3: SEO Fixer Part II - Updated or watch this ~14min video String Calculator TDD Kata done in Perl of a programmer doing this live :)
Win32::GUI: how to find BrowseForFolder()'s handle?
Re: When do we change our replies?, on posting complete code

Common Perl Pitfalls / perltrap

Tutorials: Basic debugging checklist
Re (tilly) 1: What does it take to LEARN Perl?
Re^7: Conversion between code page and unicode in Perl, Re^4: Inserting Current time and date into an HTML file.

Re: Perl Best Practices for naming variables, About the use of the plural form for the name of variables, Re: What are the most basic, generic aspects of programming?

What is the best way to master perl, Re: What is the best way to master perl (do your homework)

Mark Jason Dominus - Perl Program Repair Shop and Red Flags - YouTube,
Program Repair Shop and Red Flags -,
Return of Program Repair Shop and Red Flags -

Re^3: Extracting unique elements from array
Re: Some questions about CGI::Session
Re: Reading other people's modules and codes
how do you organize your notes?, Work practices: log books, notes files...
Where Do I Go Next?

On Answering Questions
How to answer questions
brian's Guide to Answering Questions

Also worth reading are The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems and mod_perl: Building a Large-Scale E-commerce site with Apache and mod_perl
Re: Form validation and best practice in CGI::Application
Re^2: mod_perl website structure

New Book: Exploring Programming Language Architecture in Perl
Teaching Perl

In reply to Re^8: How to use wxHtmlEasyPrinting by Anonymous Monk
in thread How to use wxHtmlEasyPrinting by halweitz

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [Corion]: Muh. Maybe I should give a talk about how to program for auditors, as I find that this changes my approach to programs a bit ;)
    [Corion]: (well, especially logging, as about everything about every decision a program makes could/should be logged :))

    How do I use this? | Other CB clients
    Other Users?
    Others musing on the Monastery: (8)
    As of 2017-05-23 15:53 GMT
    Find Nodes?
      Voting Booth?