Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Tengo un problema con un programa en Perl, soy nueva en esto. Estoy utilizando un código que no está hecho por mi. El problema es que donde declara las variables my(@input,$output), según entiendo, hay que definirlas y son archivos, me dice que input es un arreglo. Entonces mi pregunta es si me pueden explicar cómo debo definir el archivo para que el programa funcione.
Gracias
P.D. Solo agregué el programa principal porque es muy largo.
Using perl Syntax Highlighting
- #!/usr/bin/env perl -w
- use strict;
- use DateTime;
- use File::Temp;
- use Math::Round;
- use Math::Complex;
- use Getopt::Long;
- use TauP::Time;
- use Seed::Response;
- use Seismogram::SAC;
- our $VERSION = 1.2;
- # Set your SAC path here
- my $sac2000 = '/usr/local/sac/bin/sac';
- if ( ! -e $sac2000 )
- {
- die "Could not find SAC executable, please edit $0\n";
- }
- my(@input,$output);
- GetOptions('input=s{,}' => \@input, 'output=s' => \$output);
- # A perl module to convert from SAC to DSN (a format used by MT5)
- open my $out_fp,">$output";
- foreach my $file (<@input>)
- {
- my $phase = 'S';
- if ( $file =~ /[SBL]HZ/ ) { $phase = 'P';}
- # Decimate the data
- my $decData = File::Temp->new();
- decimateData($file,$decData);
- # Read the decimated file
- my($sac) = readSAC($decData);
- my($resp) = readResponse($sac);
- my($waveform,$initialTime) = extractWaveform($sac,$phase);
- my $waveformSize = (scalar @$waveform);
- my($header) = createSeismogramHeader($sac,$resp,$waveform,$initialTime);
- $header .= printPolesAndZeros($sac,$resp,$waveformSize);
- $header .= printWaveform($waveform);
- print $out_fp $header;
- }
- close $out_fp;
- 0;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4