#!perl
use strict;
use warnings;
use XML::LibXML;
use XML::LibXSLT;
my ( $sourcefile, $stylefile ) = @ARGV;
# Create an XML parser
my $p = XML::LibXML->new;
my $xml_source = $p->parse_file($sourcefile);
# Create an XSLT engine
my $s = XML::LibXSLT->new;
#$s->debug_callback(sub {warn @_});
my $stylexml = $p->parse_file($stylefile);
my $stylesheet = $s->parse_stylesheet($stylexml);
my $transformed = $stylesheet->transform($xml_source)
or die "Transformation lost it on $_";
# Generate the output
my $output = $stylesheet->output_string($transformed);
print $output;
####
my $load_task =
ref($task) eq 'ARRAY' && $load eq 'bed clothes' ? $task->[1] :
ref($task) eq 'ARRAY' && $load ne 'bed clothes' ? $task->[0] :
$task
;
##
##
my $load_task =
ref($task) ne 'ARRAY' ? $task :
$load eq 'bed clothes' ? $task->[1] :
$load ne 'bed clothes' ? $task->[0] :
die "huh?";
##
##
#!/usr/bin/perl -W
use strict;
use warnings;
sub listText {
my $myDir = $_[0];
my @fileList;
my $wanted2 = sub {
my $filePath = $File::Find::name;
if ($filePath =~ /txt/) {
push(@fileList, $filePath);
}
};
find({wanted => $wanted2, no_chdir => 1}, ($myDir));
return @fileList;
}
##
##
$ perl -MTest::More -e 'plan "no_plan"; print use_ok("Does::Not::Exist"), "\n"; print pass("This is ok"), "\n"'
not ok 1 - use Does::Not::Exist;
# Failed test 'use Does::Not::Exist;'
# at -e line 1.
# Tried to use 'Does::Not::Exist'.
# Error: Can't locate Does/Not/Exist.pm in @INC (@INC contains: blah blah blah) at (eval 3) line 2.
# BEGIN failed--compilation aborted at -e line 1.
0
ok 2 - This is ok
1
1..2
# Looks like you failed 1 test of 2.
##
##
$ perl -MTest::More -e 'plan "no_plan"; BEGIN {print use_ok("Does::Not::Exist"), "\n"} print pass("This is ok"), "\n"'
ok 1 - This is ok
1
1..1
##
##
if ($a || # Some reason
$b # Some other reason
##
##
BEGIN {
my $success = eval {
use_ok($module);
1;
};
isnt($success, 1, "eval of use_ok failed (as expected)");
}
##
##
BEGIN {
if ($foo) { die "this case should not succeed"; }
}
##
##
use strict;
use warnings;
my ($ifh, $var1, $var2);
my $infilename = '/etc/issue';
open($ifh, '<', $infilename);
while (<$ifh>) {
chomp;
if ( /^(Red) (Hat)/ ) {
($var1, $var2) = ($1, $2);
print "$var1$var2\n";
}
}
close ($ifh);
##
##
my $nics = qx |/sbin/ifconfig| or die("Can't get info from ifconfig: $!\n");
my @nics = split /(?<=\n)(?=\w)/, $nics;
for (@nics) {
my %nic;
($nic{device}) = $_ =~ /^(eth\d)\s/
or next;
if (/\binet addr:([\d.]+)\s.+?:([\d.]+)\s.+?:([\d.]+)/) {
$nic{ip} = $1;
$nic{bcast} = $2;
$nic{mask} = $3;
# print "Device: $nic{device} has the IP Address of $nic{ip}\n\tMask: $nic{mask}\n\tBroadcast: $nic{bcast}\n";
}
if (/^\s+ inet6 addr:\s*(\S+)/m) {
$nic{ip6} = $1;
# print "Device: $nic{device} also has IPv6 address of $nic{ip6}\n";
}
# Do all printing here....
# this statement needs work.
# print "Device: $a\n\tIPv4: $b\n\tBcast: $c\n\tMask: $d\n\tIPv6: $e\n";
}
##
##
use strict;
use warnings;
use diagnostics;
binmode STDOUT;
# This should really be explicit about the \r\n
print "Content-Type: text/plain\n\n";
print 'Hello World';
##
##
use strict;
use warnings;
my $tr="" . ("(.*?) | "x8) . "
";
while () {
my @x = m/\G$tr/cgo or next;
print join("|", @x), "\n";
}
__DATA__
I | am | Santa | Clause | I | am | Santa | Clause |
Blah Blah This Will Not Match
I | am | Easter | Bunny | I | am | Easter | Bunny |
Neither | Will | This |
##
##
use Win32::OLE::Variant;
...
$property->{Value} =
Win32::OLE::Variant->new(VT_BOOL, 0xFFFFFFFF);
##
##
$blah->Disconnect;
$blah = Vendor::Lib->Connect(...);
##
##
$blah->Disconnect;
$blah = undef;
$blah = Vendor::Lib->Connect(...);
##
##
(cd d1 && find .) | sort > out.1
(cd d2 && find .) | sort > out.2
diff out.1 out.2
##
##
#!/bin/ksh
for x in *.pl; do
if [[ -f "$x" ]]; then
./what_you_want_to_do *.pl
break
fi
done
##
##
#!/bin/ksh
for x in *.pl; do
if [[ -f "$x" ]]; then
exec ./what_you_want_to_do *.pl
fi
done
##
##
#!perl
use strict;
use warnings;
my $base = shift;
my $pattern = shift;
print "Base = $base, pattern = $pattern\n\n";
my %checkthese;
while ($base =~ m/\G($pattern)/g) {
my $pos = pos($base);
print "POS = ", $pos, "\n";
my $pre = substr($base,0,$pos - 1);
my $match = $1;
my $post = substr($base,$pos);
$checkthese{"$pre:$match:$post"} = {
pre => $pre,
match => $match,
post => $post,
};
pos($base) = $pos + 1;
}
print "\n\n", "End", "\n\n";
print join("\n", keys %checkthese), "\n";