#!/usr/bin/perl $fn = shift || die "usage: mdp2xgmml.pl filename\n"; open( MDP, "<$fn" ) || die "Couldn't open $fn: $!\n"; print < EOTEXT ; $nstates = ; chomp $nstates; for ( $i=0; $i<$nstates; $i++ ) { print < EOTEXT } for ( $i=0; $i<$nstates; $i++ ) { $line = ; chomp $line; ($start_state, $nacts) = split( /\s+/, $line ); $start_state = int( $start_state ); for ( $a=0; $a<$nacts; $a++ ) { $line = ; @parts = split( /\s+/, $line ); $reward = shift @parts; $ndeps = shift @parts; for ( $n=0; $n<$ndeps; $n++ ) { $end_state = shift @parts; $prob = shift @parts; $end_state = int( $end_state ); print < EOTEXT } } } close( MDP ); print "\n";