Net-AMQP-PP/maint/rebuild.pl
#!/usr/bin/env perl
use strict;
use warnings;
use Net::AMQP;
use File::ShareDir;
use JSON;
use FindBin qw/$Bin/;
Net::AMQP::Protocol->load_xml_spec(File::ShareDir::dist_dir("AnyEvent-RabbitMQ") . '/fixed_amqp0-8.xml');
my $data = JSON::to_json(\%Net::AMQP::Protocol::spec);
my $fn = "$Bin/../lib/Net/AMQP/PP.pm";
open(my $in, "<", $fn) or die;
open(my $out, ">", "$fn.new") or die;
my $done = 0;
while (my $line = <$in>) {
if ($done > 1) {
print $out $line;
}
elsif ($done == 1) {
print $out "q[$data]);\n";
$done++;
}
else {
if ($line =~ /^my \$data/) {
$done = 1;
}
print $out $line;
}
}
close($in);
close($out);