grab pattern from start and end block -- input record separator

usage of local $/   or  $INPUT_RECORD_SEPARATOR 
INPUT script 

start
name:agnello
dob:2 april
address:123 street
end
start 
name:babit
dob:13 april
address:3 street
end
start 
name:ganesh
dob:1 april
address:23 street
end


i need to get the OUTPUT data in the following format 

name:agnello, dob:23 april ,address:123 street
name:babit,dob:13 april,address:3 street
name:ganesh,dob:1 april,address:23 street

i came up with this , is there a better way to do this : 
===============================
#!/usr/bin/perl 

use strict;
use warnings;

open my $FH , 'data.txt' or die "cannot open file $!";
read $FH, my $string, -s $FH;
close($FH);


my @string = split ( /start/ , $string ) ;

my %data;

foreach  ( @string ) {
chomp;
next if /^$/ ;
s/^ $//g;
s/end//;

my @data = split(/\n/, "$_");
  foreach my $i (@data) {
   print "$i,";

     }
print "\n";
}


alternate script is : 
========================
#!/usr/bin/env perl

use strict;
use warnings;

# --------------------------------------

use charnames qw( :full :short   );
use English   qw( -no_match_vars );  # Avoids regex performance penalty

# --------------------------------------
sub read_record {
  my $record_fh = shift @_;

# all records are from "start\n" to "end\n"
  local $INPUT_RECORD_SEPARATOR = "end\n";
  my $record = <$record_fh>;

# $record undef at end of file
  if( defined $record ){

# removes "end\n"
    chomp $record;

print "$record";
exit ;
# removes "start\n"
    $record =~ s{ \A start \s* }{}msx;
  }

  return $record;
}

# --------------------------------------
while( my $record = read_record( *DATA )){

# remove trailing "\n"
  chomp $record;

# replace field separators with commas
  $record =~ s{ \n+ }{,}gmsx;
# display the record
  print "$record\n";
}


__DATA__
start
name:agnello
dob:2 april
address:123 street
end
start
name:babit
dob:13 april
address:3 street
end
start
name:ganesh
dob:1 april
address:23 street
end










Agnello George sent you a video: "AWS Webcast - AWS OpsWorks Continuous Integration Demo"

Agnello George has shared a video with you on YouTube
AWS Webcast - AWS OpsWorks Continuous Integration Demo
In this session we'll discuss and demonstrate key concepts and design patterns for continuous deployment and integration using technologies like AWS OpsWorks and Chef to enable better control of applications and infrastructures.
©2013 YouTube, LLC 901 Cherry Ave, San Bruno, CA 94066

IT Security Specialist



Designation: IT Security Specialist




Requirements
* Should have experience in IT Security Domain
* Detailed knowledge on end point compliance enforcement through NAC
* Delivery of secure end point systems management.
* Have strong knowledge on IT security, IT audit and IT Asset life cycle Management.
* Desire to have hands on experience on various security and network products and technologies (e.g. Firewalls, IDS, IPS, HIDS, Symantec Antivirus and Active Directory)
* Architecting and deploying security technologies
* Security information event management (SIEM)
* Expert knowledge on Network Security Controls enforcement at gateway and endpoint.
* Experience in managing large end point systems deployment with respective AV and Asset.
* Analytical and Problem Solving Skills
* Should have good documentation skills - Writing security policies & procedures for Team, baseline and guideline documents etc.
* CCNA / MCSE / ITIL / ISO certifications
* CISSP / CISA / SANs certifications will add value

understanding high I/O wait


Linux has many tools available for troubleshooting some are easy to use, some are more advanced.

I/O Wait is an issue that requires use of some of the more advanced tools as well as an advanced usage of some of the basic tools. The reason I/O Wait is difficult to troubleshoot is due to the fact that by default there are plenty of tools to tell you that your system is I/O bound, .... read more  


Other Articles

Enter your email address: