You use $ to refer to individual elements of an array, @ is for referring to the entire array.
Those nested while loops would be quite inefficient because you would be reading the entire SINPUT file for every iteration of the outside loop. I would read in the MOUTPUT file first and load it into a hash, using something like:
Then process the second file checking against that %moutput hash:
(all code untested!)
Obviously you will have a little more work to do to only print out the fields you are interested in, but you get my drift.
Hi,
How can i use sed command to modify a part of a variable containing "/" by another containing "/" like describe below:
VAR="/app/share/eai"
VAR1="/app/share"
VAR2="/data/test"
echo $VAR | sed 's/... ??? # using sed to replace $VAR1 in $VAR by $VAR2 ? (4 Replies)
I know that I want to entirely replace line 3 in my file filename.txt. I have tried all sorts of variations of
sed 3,3,c\replacement stuff\ filename.txt with no success.
about the only thing that causes any reaction is
sed 3,3c\\ filename.txt
but it just prints out the whole file.
... (13 Replies)
Im new at scripting and im trying to write a script using perl that will make sure there are 2 command line integer arguments and then check if the 2nd argument is greater than the first. i believe im close but still receive my error message even when i have 2 arguments and the second part gives me... (6 Replies)
<tr><td width=10% style='width:5%;background:#F7F0D9;padding:0in 0in 0in 0in 0in'><center><b>Package</b></td><td width=10% valign=center style='width:5%;background:#F7F0D9;padding:0in 0in 0in 0in 0in'><center><b>JTs</b></td>
This is got to be simple. I run this on the above .html file:
sed... (8 Replies)
Query with perl syntax
Aim: is to change a perl script to use a new file
I was required to replace
- entries \"$entries\"
with
-lib <full_path_to_filename>
So in the code detector.pm
sub rundetector
{
my $class = shift;
mkdir($resultDirectory);
my... (3 Replies)
Greetings!
I've run into this before; and am having a spot of trouble trying to figure out the way that Perl would prefer the following example syntax to be formed:#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
`sed -i 's/Hi Mom!\|Hi Dad!/Bye Everyone!/I' ./test.txt`;Perl... (5 Replies)
I am having trouble re-writing this sed code
sed -nr 's/.*del(+)ins(+).*NC_0{4}(+).*g\.(+)_(+).*/\3\t\4\t\5\t\1\t\2/p' C:/Users/cmccabe/Desktop/Python27/out_position.txt > C:/Users/cmccabe/Desktop/Python27/out_parse.txt in perl Basically, what the code does is parse text from two fields... (12 Replies)
Hi,
Anyone can help using SED searches a character string for a specified delimiter character, and returns a leading or trailing space/blank.
Text file :
"1"|"ExternalClassDEA519CF5"|"Art1"
"2"|"ExternalClass563EA516C"|"Art3"
"3"|"ExternalClass305ED16B8"|"Art9"
...
...
... (2 Replies)
Discussion started by: fspalero
2 Replies
LEARN ABOUT REDHAT
fields
fields(3pm) Perl Programmers Reference Guide fields(3pm)NAME
fields - compile-time class fields
SYNOPSIS
{
package Foo;
use fields qw(foo bar _Foo_private);
sub new {
my Foo $self = shift;
unless (ref $self) {
$self = fields::new($self);
$self->{_Foo_private} = "this is Foo's secret";
}
$self->{foo} = 10;
$self->{bar} = 20;
return $self;
}
}
my Foo $var = Foo::->new;
$var->{foo} = 42;
# this will generate a compile-time error
$var->{zap} = 42;
# subclassing
{
package Bar;
use base 'Foo';
use fields qw(baz _Bar_private); # not shared with Foo
sub new {
my $class = shift;
my $self = fields::new($class);
$self->SUPER::new(); # init base fields
$self->{baz} = 10; # init own fields
$self->{_Bar_private} = "this is Bar's secret";
return $self;
}
}
DESCRIPTION
The "fields" pragma enables compile-time verified class fields.
NOTE: The current implementation keeps the declared fields in the %FIELDS hash of the calling package, but this may change in future ver-
sions. Do not update the %FIELDS hash directly, because it must be created at compile-time for it to be fully useful, as is done by this
pragma.
If a typed lexical variable holding a reference is used to access a hash element and a package with the same name as the type has declared
class fields using this pragma, then the operation is turned into an array access at compile time.
The related "base" pragma will combine fields from base classes and any fields declared using the "fields" pragma. This enables field
inheritance to work properly.
Field names that start with an underscore character are made private to the class and are not visible to subclasses. Inherited fields can
be overridden but will generate a warning if used together with the "-w" switch.
The effect of all this is that you can have objects with named fields which are as compact and as fast arrays to access. This only works
as long as the objects are accessed through properly typed variables. If the objects are not typed, access is only checked at run time.
The following functions are supported:
new fields::new() creates and blesses a pseudo-hash comprised of the fields declared using the "fields" pragma into the specified
class. This makes it possible to write a constructor like this:
package Critter::Sounds;
use fields qw(cat dog bird);
sub new {
my Critter::Sounds $self = shift;
$self = fields::new($self) unless ref $self;
$self->{cat} = 'meow'; # scalar element
@$self{'dog','bird'} = ('bark','tweet'); # slice
return $self;
}
phash fields::phash() can be used to create and initialize a plain (unblessed) pseudo-hash. This function should always be used instead
of creating pseudo-hashes directly.
If the first argument is a reference to an array, the pseudo-hash will be created with keys from that array. If a second argument
is supplied, it must also be a reference to an array whose elements will be used as the values. If the second array contains less
elements than the first, the trailing elements of the pseudo-hash will not be initialized. This makes it particularly useful for
creating a pseudo-hash from subroutine arguments:
sub dogtag {
my $tag = fields::phash([qw(name rank ser_num)], [@_]);
}
fields::phash() also accepts a list of key-value pairs that will be used to construct the pseudo hash. Examples:
my $tag = fields::phash(name => "Joe",
rank => "captain",
ser_num => 42);
my $pseudohash = fields::phash(%args);
SEE ALSO
base, "Pseudo-hashes: Using an array as a hash" in perlref
perl v5.8.0 2002-06-01 fields(3pm)