use strict; use XML::Rules; use Text::CSV_XS; use FileHandle; my $csv = Text::CSV_XS->new({eol => "\n"}); my $parser = XML::Rules->new( rules => [ _default => 'content', Class => sub { $csv->print( $_[4]->{parameters}, [ map {$_[1]->{$_}} qw( Subject Course Title Description Prequisites Corequisites Requisites LectureHours LaboratoryHours CreditHours Flags ) ]); return; } ] ); open my $FH, '>&STDOUT'; open my $File, 'alpha31.xml'; print $FH "Subject,Course,Title,Description,Prequisites,Corequisites,LectureHours,LaboratoryHours,CreditHours,Flags\n"; $parser->parse( $File, $FH);