1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
#!/usr/bin/env perl
# Copyright (c) 2012-2025. The SimGrid Team. All rights reserved.
# This program is free software; you can redistribute it and/or modify it
# under the terms of the license (GNU LGPL) which comes with this package.
use strict;
use warnings;
if($#ARGV!=1) {
die "Usage: perl update_tesh.pl <directory> <old.tesh>\n";
}
my($directory)=$ARGV[0];
my($old)=$ARGV[1];
chdir("$directory");
open SH_LIGNE, $old or die "Unable to open $old. $!\n";
my($line);
my($line_exec);
my($l);
my($tmp);
while(defined($line=<SH_LIGNE>))
{
if($line =~ /^\$(.*)$/)
{
$line_exec = $line;
$line =~ s/\$\{srcdir\:\=\.\}/./g;
$line =~ s/\(/\\(/g;
$line =~ s/\)/\\)/g;
$line =~ s/^\$\ */.\//g;
$line =~ s/--log=([^ ]*)/--log="$1"/g;
print "$line_exec";
chomp $line;
open (FILE, "$line 2>&1|");
while(defined($l=<FILE>))
{
chomp $l;
print "\> $l\n";
}
close(FILE);
}
else
{
if($line =~ /^\>(.*)$/)
{
}
else
{
print "$line";
}
}
}
close(SH_LIGNE);
|