home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 mARCH / PCWK3A99.iso / Linux / DDD331 / DDD-3_1_.000 / DDD-3_1_ / ddd-3.1.1 / ddd / perltest.pl < prev    next >
Perl Script  |  1998-10-27  |  2KB  |  88 lines

  1. #!/usr/local/bin/perl
  2. # $Id: perltest.pl,v 1.6 1998/10/27 09:14:44 zeller Exp $
  3. # Perl test
  4.  
  5. # Copyright (C) 1998 Technische Universitaet Braunschweig, Germany.
  6. # Written by Andreas Zeller <zeller@ips.cs.tu-bs.de>.
  7. # This file is part of DDD.
  8. # DDD is free software; you can redistribute it and/or
  9. # modify it under the terms of the GNU General Public
  10. # License as published by the Free Software Foundation; either
  11. # version 2 of the License, or (at your option) any later version.
  12. # DDD is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  15. # See the GNU General Public License for more details.
  16. # You should have received a copy of the GNU General Public
  17. # License along with DDD -- see the file COPYING.
  18. # If not, write to the Free Software Foundation, Inc.,
  19. # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  20. # DDD is the data display debugger.
  21. # For details, see the DDD World-Wide-Web page, 
  22. # `http://www.cs.tu-bs.de/softech/ddd/',
  23. # or send a mail to the DDD developers <ddd@ips.cs.tu-bs.de>.
  24.  
  25. $foo = 42;
  26.  
  27. @foo = (1, 2, 3, 4);
  28.  
  29. $foo[0] = 99;
  30. $foo[1] = 300_000;
  31.  
  32. %foo = ('red' => 1, 'green' => 2, 'blue' => 3);
  33.  
  34. $foo{'red'}   = 5;
  35. $foo{'green'} = 7;
  36.  
  37. # References
  38. $ref = \%foo;
  39. $anotherref = $ref;
  40. $refref = \$ref;
  41. $refrefref = \$refref;
  42.  
  43. # Lists of lists - from perllol(1)
  44. @LoL = (
  45.     [ "fred", "barney" ],
  46.     [ "george", "jane", "elroy" ],
  47.     [ "homer", "marge", "bart" ],
  48.        );
  49. print $LoL[2][2], "\n";
  50.  
  51. $ref_to_LoL = [
  52.            [ "fred", "barney", "pebbles", "bambam", "dino", ],
  53.            [ "homer", "bart", "marge", "maggie", ],
  54.            [ "george", "jane", "alroy", "judy", ],
  55.           ];
  56. print $ref_to_LoL->[2][2], "\n";
  57.  
  58.  
  59. # Closures
  60. sub newprint {
  61.   my $x = shift;
  62.   return sub { my $y = shift; print "$x, $y!\n"; };
  63. }
  64. $h = newprint("Howdy");
  65. $g = newprint("Greetings");
  66.  
  67. &$h("world");
  68. &$g("earthlings");
  69.  
  70.  
  71. # Globs
  72. $fh = *STDOUT;
  73.  
  74.  
  75.  
  76. sub print_me {
  77.   print @_;
  78. }
  79.  
  80. &print_me('one ', 'two ', 'three ', "\n");
  81.  
  82. 1;
  83.