#!/usr/bin/perl use strict; use LWP::UserAgent; use HTTP::Request; use YAML; use Getopt::Std; use Data::Dumper; use vars qw($opt_u $opt_p $opt_i $opt_f); getopts("f:u:p:i:"); die "must supply -u 'user name' -p password -i http://:// \n" unless $opt_u && $opt_p && $opt_i; my $ua = new LWP::UserAgent; $ua->agent("sneakyhack/0.1 " . $ua->agent); my $req= HTTP::Request->new('POST' => $opt_i); my $content; if ($opt_f){ open (F,"<$opt_f") or die "cant open $opt_f: $!\n"; $content = join("", ); close F; } else { $content = join("", <>); } $req->content($content); $req->authorization_basic($opt_u, $opt_p); my $res = $ua->request($req); unless ($res->is_success){ print $res->status_line."\n"; } else { my $c = $res->content; print "YAMl is:\n". $c. "\n"; my ($yml) = Load($c); print "Perl data structure:\n".Dumper($yml). "\n"; } exit 0;