Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • i usually write that as

    perl -le 'print chr(65+rand(26))'

    your version is prettier, though :)

    (sorry, i'm not a java person)
    --
    bgp is for those who can't keep it static long enough
    • Damn. I thought my version is crystal clear, but yours is just perfect and obvious -- if you know ASCII.

      And doing that in Java:

      import java.io.*;

      class Pick {
          public static void main(String[] args) {
              BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
              while (true) {
                  try {
                      br.readLine();
               

      • I Don't Speak Java, But:

        If this is for a party game, isn't the exception handling gratuitous? Whether it fails with a stack track or a nice error message, it's screwed up. Can't you just omit that?

        Why do you need the reader at all? Is there some requirement that you must read from stdin if you want to send to stdout?
        --
        rjbs
        • As Ovid points out, you do have to do something about the exception because it is a checked exception. But my preferred choice in this case would be to declare that main() throws the exceptions [perl.org], thus letting the calling environment handle it, because, as you say, if it's screwed up, it's screwed up, no matter how it chooses to express the failure.

          Ovid, did you know you could throw exceptions from main()?

          How much have we shortened your Java code, now? :)

          --
          J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
          • I had never heard of checked exceptions. I can see their value, but I think I'd find the more irritating than useful unless I could disable them for one-offs.

            Thanks!
            --
            rjbs
            • Checked exceptions are evil. They sound good, until you try them. Bruce Eckel, the author of Thinking in Java [amazon.com], has a great essay about the problems with checked exceptions [mindview.net].

              • Checked exceptions are extremely valuable when designing or using APIs. Most of the pain comes from misuse. Used properly, you only have to deal with them when you really should write error handling anyway. But I didn't create this account to enter that endless debate. I just wanted to point out that its in the nature of the difference strengths of Java and Perl that you can't post a piece of code where Java is more natural. Its only when dealing with large bodies of code that Java's strength is appare
                • Its only when dealing with large bodies of code that Java's strength is apparent.

                  Funny; I consider Java's encouragement to produce large bodies of code a disadvantage.

                • Okay, I got a half-million lines of Java here, judging by just a second ago when I did a find . -name '*.java' | xargs wc -l. When do the advantages start becoming apparent?

                  (Okay, to be fair, I can see some advantages. But if I were starting this from scratch, yes, it would be Perl!)

                  --
                  J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers