#!/usr/bin/perl -w # tester.pl - test perl constructs # author : dave w capella http://grox.net/mailme # date : Wed Feb 13 10:29:38 PST 2008 ############################################################ use strict; use Socket; # for inet_ntoa() use Sys::Hostname; # for hostname() # can i push new items on an array while i iterate thru it? # my @ary = ( 'abc', 'bcd', 'def' ); my $x; foreach $x (@ary) { if ($x eq 'abc') { push @ary,'xyz'; } print $x, "\n"; } # yes foreach $x (@ary) { print $x, "\n"; } # what's my name? my $fqdn = hostname(); # print an underline the same length as the current line # my $sep = "\n"; my $len = length($fqdn); my $div .= "-" x $len . $sep; print $div; # # or just... print "-" x length($fqdn) . "\n"; # # so... print $div, $fqdn, "\n", $div; # print my ip address # my $hostent = gethostbyname($fqdn); print "my ip: ", inet_ntoa($hostent),"\n" if defined $hostent; # keys of a hash? # my %h = ( '00:00' => 1, '11:11' => 0, '22:22' => 3 ); my @ary = keys(%h); print "array: @ary \n"; print "------ \n"; # match string # my $mac = "00:01:20:aa:bb:cc"; if( $mac =~ /00:/ ) { print "yes \n"; } else { print "no \n"; } # create array of args to function # sub doit { my @ary; my $arg; do { $arg = shift; push(@ary, $arg) if $arg; } while $arg; print "ary: @ary \n"; foreach $arg (@ary) { print "arg: $arg \n"; } } print "ary: @ary \n"; doit(@ary);