10. Slurping files in Perl my $fh = open '<', $filename; local $/ = undef; my $contents = <$fh>;
11. Slurping files in Perl my $fh = open '<', $filename; local $/ = undef; my $contents = <$fh>; Slurping in Ruby
12. Slurping files in Perl my $fh = open '<', $filename; local $/ = undef; my $contents = <$fh>; Slurping in Ruby file = File.open(filename, "rb") contents = file.read
22. XML Parsing <langs type="current"> <language>Perl</language> <language>Java</language> <language>Groovy</language></langs> public class ParseXml { public static void main(String[] args) { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(“langs.xml"); Element langs = doc.getDocumentElement(); System.out.println("type = " + langs.getAttribute("type")); NodeList list = langs.getElementsByTagName("language"); for(int i=0; i < list.getLength(); i++) { Element language = (Element) list.item(i); System.out.println(language.getTextContent()); } } catch(ParserConfigurationException pce) { pce.printStackTrace(); } catch(SAXException se) { se.printStackTrace(); } catch(IOException ioe) { ioe.printStackTrace(); } } } }
23. XML Parsing in Groovy <langs type="current"> <language>Perl</language> <language>Java</language> <language>Groovy</language></langs>
24. XML Parsing in Groovy <langs type="current"> <language>Perl</language> <language>Java</language> <language>Groovy</language></langs> def langs = new XmlSlurper().parse("langs.xml") println langs.@type langs.language.each { elem -> println elem }
25. XML Parsing in Groovy <langs type="current"> <language>Perl</language> <language>Java</language> <language>Groovy</language></langs> def langs = new XmlSlurper().parse("langs.xml") println langs.@type langs.language.each { println it }
26. Configuration foo { port = 80 bar { baz { some.thing = "burp" } } } def config = new ConfigSlurper().parse(...) def config = new ConfigSlurper() .parse(new File("config.groovy").toURL()) assert config.foo.port == 80 assert config.foo.bar.baz.some.thing == "burp"
27. Environment Configuration foo.bar = "baz" something.else = 99 environments { development { port = 8181 db = "devdb" } test { port = 8080 db = "testdb" } production { port = 80 db = "proddb" } } ConfigSlurper("production")
Editor's Notes
Wait – that’s too verbose…
“it” is shorthand – a default parameter, like Perl’s $_