Sponsored Content
Top Forums Shell Programming and Scripting [Perl] split on : but with extra challenge Post 302968943 by rdrtx1 on Wednesday 16th of March 2016 09:32:25 AM
Old 03-16-2016
try:
Code:
#!/usr/bin/perl -w #-d
use strict;

my $Line = "value1:{value2a:value2b}:value3:{}:value5:{value6a:value6b:value6c:value6d}";

my @atts = ($Line =~ /{[^:}]*:[^}]*}/g);
for (@atts) {my $v=$_; $v=~s/:/!=!/g; $Line=~s/$_/$v/;};

my @LineAttributes = split (/:/, $Line);
$Line="";
for (@LineAttributes) {s/!=!/:/g; $Line=$Line . $_ . ":"};
$Line=~s/:$//;

my $TotalLineAttributes = scalar @LineAttributes;

print "Line: $Line\n\n";
print "Total attributes: $TotalLineAttributes\n\n";

foreach my $Attribute (@LineAttributes) {
  print "Attribute: $Attribute\n";
}

This User Gave Thanks to rdrtx1 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl split function

$mystring = "name:blk:house::"; print "$mystring\n"; @s_format = split(/:/, $mystring); for ($i=0; $i <= $#s_format; $i++) { print "index is $i,field is $s_format"; print "\n"; } $size = $#s_format + 1; print "total size of array is $size\n"; i am expecting my size to be 5, why is it... (5 Replies)
Discussion started by: new2ss
5 Replies

2. Shell Programming and Scripting

Use split function in perl

Hello, if i have file like this: 010000890306932455804 05306977653873 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC30693599000 30971360000 ZZZZZZZZZZZZZZZZZZZZ202011302942311 010000890306946317387 05306977313623 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC306942190000 30971360000... (5 Replies)
Discussion started by: chriss_58
5 Replies

3. Shell Programming and Scripting

PERL cgi script... extra character driving me crazy

I'm using a PERL cgi script that uses rrdtool to make graphs. I can't get the syntax correct to use a degree sign (alt+0176 like this °) and also using a variable. If I use single quotes, I can't call the variable. If I use double quotes, there is an extra symbol (Â) before the ° which goes... (2 Replies)
Discussion started by: audiophile
2 Replies

4. Shell Programming and Scripting

Perl split question

hi, I have a seemingly really stupid question, but here goes! What do you enter into split delimiter to seperate something like this "December 12, 1995" and get December 12 1995 ? thanks (5 Replies)
Discussion started by: ade214
5 Replies

5. Homework & Coursework Questions

PERL split function

Hi... I have a question regarding the split function in PERL. I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time. Also... (0 Replies)
Discussion started by: castle
0 Replies

6. Shell Programming and Scripting

Perl split, but ignoring extra delimiters

Hi all, I'm going bonkers trying to figure something out that is probably simple for most of you. I have a choice between getting therapy for this or coming here to ask for help. I chose the latter. :D What I'm trying to do is perform a split on a line but only one split. For example, let's... (4 Replies)
Discussion started by: goober
4 Replies

7. Shell Programming and Scripting

Regular Expression in Perl - very challenge

Hi expert, As we know in regular expression, means neither a nor b. Now the question is how to consider <ab> as a whole part or somehow a single char. Something like which is meaning neither ( nor a nor b nor ). Or do we have another way for this? The real requirement is as below: ... (2 Replies)
Discussion started by: summer_cherry
2 Replies

8. Shell Programming and Scripting

Split the string in perl

Hi All, How to split the string KAR_Celltick_Ban_GSMGW3 and want to pickup the third filed. Sometime the string may be "KAR_Celltick_Ban" like this Thanks in advance (1 Reply)
Discussion started by: sujit_kashyap
1 Replies

9. UNIX for Advanced & Expert Users

Interesting awk/Perl/sed parsing challenge

I have a log with entries like: out/target/product/imx53_smd/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/bindings/V8HTMLVideoElement.cpp : target thumb C++: libwebcore <=... (8 Replies)
Discussion started by: glev2005
8 Replies

10. Shell Programming and Scripting

Perl split and array

Hello, I have the following code: while ($line = <fd_in>) { 126 $line = " " . $line ; 127 print "our_line:$line\n"; 128 @list = split (/\s+/, $line) ; 129 print "after_split:@list\n"; 130 print "$list\t$list\t$list\t$list\t$list\t$list$list\t\n"; 131 $len =... (2 Replies)
Discussion started by: Zam_1234
2 Replies
Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplUserNContributed)Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines(3pm)

NAME
Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines - Use concatenation or HEREDOCs instead of literal line breaks in strings. AFFILIATION
This Policy is part of the core Perl::Critic distribution. DESCRIPTION
Strings with embedded line breaks are hard to read. Use concatenation or HEREDOCs instead. my $foo = "Line one is quite long Line two"; # Bad my $foo = "Line one is quite long Line two"; # Better, but still hard to read my $foo = "Line one is quite long " . "Line two"; # Better still my $foo = <<'EOF'; # Use heredoc for longer passages Line one is quite long Line two Line three breaks the camel's back EOF CONFIGURATION
This Policy is not configurable except for the standard options. AUTHOR
Chris Dolan <cdolan@cpan.org> CREDITS
Initial development of this policy was supported by a grant from the Perl Foundation. COPYRIGHT
Copyright (c) 2007-2011 Chris Dolan. Many rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module. perl v5.14.2 2012-Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines(3pm)
All times are GMT -4. The time now is 04:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy