#!/usr/bin/env perl require 5.004; use strict; if ($ARGV[0] =~ /^-+[vh]/) { die "ident (GASNet) 0.1 This script extracts configuration information embedded in the GASNet library and any executables that link it statically. Copyright (C) 2024-2025, UC Regents. See GASNet license.txt for terms of use. Usage: $0 [file ...] If no file is specified, reads from stdin. "; } sub read_file { my $FILE; if (not @_) { $FILE = *STDIN; } else { $FILE = $_[0]; } local $/ = '$'; # use $ as the line break symbol while (<$FILE>) { print " \$$_\n" if (/^[\w]+: [\w\s[:punct:]]+ \$/o); } } shift if ($ARGV[0] eq '--'); if (not @ARGV) { read_file(); } while ( my $exe = shift) { my $FILE; open (FILE, $exe) || die "Could not open file '$exe'"; print "$exe:\n"; read_file(*FILE); close(FILE); print "\n" if (@ARGV); }