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
ipentry(n)						    An IP address entry widget							ipentry(n)

__________________________________________________________________________________________________________________________________________________

NAME
ipentry - An IP address entry widget SYNOPSIS
package require Tcl 8.4 package require Tk 8.4 package require ipentry ?0.3? ::ipentry::ipentry pathName ?option value...? ::ipentry::ipentry6 pathName ?option value...? pathName complete pathName get pathName insert iplist pathName icursor index pathName configure option value... pathName cget option _________________________________________________________________ DESCRIPTION
This package provides a widget for the entering of a IP address. ::ipentry::ipentry pathName ?option value...? Creates a new IPv4 ipentry widget and configures it with the given options and their values. ::ipentry::ipentry6 pathName ?option value...? Creates a new ipentry widget for the entry of an IPv6 address. All options are the same as the IPv4 widget. Each widget created with the command above supports the following methods: pathName complete Returns a boolean value. True indicates that the entry contains a complete IP address, meaning all fields have a value. In some cases IPv6 address are valid when fields are missing. You will need to do your own validation to detect this. pathName get Returns the contents of the entry as a list consisting of 4 or 8 elements. pathName insert iplist IPv4 Takes a list of 4 elements and inserts one into each quad of the entry, in order. All values in the list must be empty or integers. Values outside the range 0 to 255 are modified to be within the range. IPv6 Takes a list of 8 elements and inserts one into each quad of the entry, in order. All values in the list must be empty or 1 to 4 hex digits. pathName icursor index Sets the position of the widgets insertion cursor. Only integer values between 0 and 15 are valid for ipentry and 0 to 31 for ipen- try6. Setting the icursor will only have an effect if the widget already has the input focus. pathName configure option value... Modifies the configuration of the widget. For options and their meaning see the widget options section. pathName cget option Returns information about the current configuration of the widget, for the specified option. For options and their meaning see the widget options section. WIDGET OPTIONS
Command-Line Switch: -textvariable Database Name: textvariable Database Class: Variable The name of a variable which holds the value of the IP address. The value must be a string of the form NNN.NNN.NNN.NNN for IPv4 or HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH for IPv6 where H is a hex digit. The variable will be modified to represent a valid IP address if it is not already. Command-Line Switch: -state Database Name: state Database Class: State Specifies one of three states for the entry: normal, disabled, or readonly. Command-Line Switch: -font Database Name: font Database Class: Font Command-Line Switch: -bd Database Name: borderWidth Database Class: BorderWidth Command-Line Switch: -fg Database Name: foreground Database Class: Foreground Command-Line Switch: -bg Database Name: background Database Class: Background Command-Line Switch: -relief Database Name: relief Database Class: Relief Command-Line Switch: -highlightthickness Database Name: highlightThickness Database Class: HighlightThickness Command-Line Switch: -highlightcolor Database Name: highlightColor Database Class: HighlightColor Command-Line Switch: -highlightbackground Database Name: highlightBackground Database Class: HighlightBackground Command-Line Switch: -selectbackground Database Name: selectBackground Database Class: Background Command-Line Switch: -selectforeground Database Name: selectForeground Database Class: Foreground Command-Line Switch: -selectborderwidth Database Name: selectBorderWidth Database Class: BorderWidth Command-Line Switch: -disabledbackground Database Name: disabledBackground Database Class: DisabledBackground Command-Line Switch: -disabledforeground Database Name: disabledForeground Database Class: DisabledForeground Command-Line Switch: -readonlybackground Database Name: readonlyBackground Database Class: ReadonlyBackground Command-Line Switch: -insertbackground Database Name: insertBackground Database Class: Background Standard widget options. See options for a description of their meanings and values. KEYWORDS
entry, ip address ipentry 0.3 ipentry(n)
All times are GMT -4. The time now is 04:46 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy