Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 13f5dcef5358e9d5a2a5a1ae6baf28fc > files > 132

gtkdialog-0.8.3-1.mga5.x86_64.rpm

#!/bin/sh

funcxPlayedMerge() {
	if [ -z "$BASH" ]; then local FUNCNAME=funcxPlayedMerge; fi
	if [ $DEBUG_TRANSITS -ne 0 ]; then echo "$FUNCNAME(): IN"; fi

	## This is very fast.
	if [ `command -v perl` ]; then
		perl - $LOCAL_DATA_DIR/GameList $LOCAL_DATA_DIR/xPlayed <<'END'
		#use strict;
		use warnings;

		my $GameList = shift;
		my $xPlayed = shift;

		open(FILE, "$GameList") or die $!;
		my @GameList = <FILE>;
		close(FILE);

		open(FILE, "$xPlayed") or die $!;
		my @xPlayed = <FILE>;
		close(FILE);

		open(FILE, ">$GameList") or die $!;

		for my $lineA (@GameList) {
			my @lineA = split(/\|/, $lineA);

			for my $lineB (@xPlayed) {
				my @lineB = split(/=/, $lineB);

				if ($lineA[0] eq $lineB[0]) {
					$lineA[-1] = $lineB[-1];
					last;
				}
			}

			print FILE join('|', @lineA);
		}

		close(FILE);
END
	else
		echo "$FUNCNAME(): Perl is required to merge the xPlayed data."
	fi

	if [ $DEBUG_TRANSITS -ne 0 ]; then echo "$FUNCNAME(): OUT"; fi
}