#!/usr/bin/perl
use 5.016;
use warnings;

sub prestr { $_[1] >= 0 ? substr($_[0], 0, $_[1]) : '' }
sub poststr { join '', sort split //, substr($_[0], $_[1]) }

sub f {
	my $p = rindex $_[0], '01';
	return prestr($_[0], $p) . '10' . poststr($_[0], $p + 2);
}

say f('111');
say f('1110');
say f('101100');
say f('1101');
say f('10101');
